//+FHEADER /////////////////////////////////////////////////////////////////////////////
// FILE NAME :  code_sl.v
// DEPARTMENT:  N/A
// AUTHOR:DingXU
// AUTHOR'S EMAIL : N/A
// --------------------------------------------------------------------------
// RELEASE HISTORY :
// VERSION DATE AUTHORDESCRIPTION�� 
// 1.0 2020-05-17  DingXU initial version  
// Added comments in header:
//---------------------------------------------------------------------------
// KEYWORDS :  sl, code
//--------------------------------------------------------------------------
// PURPOSE:   Coding sl
// --------------------------------------------------------------------------
// PARAM NAME RANGE:  N/A
// -----------------------------------------------------------------------
// REUSE ISSUES:
// Reset Strategy : Asynchronous, active low system level reset : 
// Clock Domains : i_clk 
// Critical TiminG: N/A
// Instantiations : no
// Synthesizable : Yes 
//-FHEADER //////////////////////////////////////////////////////////////////////
module code_sl(
                  i_clk               ,
                  i_rst_n             , 
                  i_code_en  	        ,
                  i_cnt     	        ,
                  
                  //DATA in
                  i_data              , 
                  
                  //DATA out
                  o_data0             ,                           
                  o_data1             ,
                  o_data2             ,
                  o_data3             ,
                  o_data4             ,
                  o_data5             ,
                  o_data6             ,
                  o_data7             ,
                  o_data8             ,
                  o_data9             ,
                  o_data10            ,
                  o_data11            ,
                  o_data12            ,
                  o_data13            ,
                  o_data14            ,
                  o_data15            ,
                  o_data16            ,
                  o_data17            ,
                  o_data18            ,
                  o_data19            ,
                  o_data20            ,
                  o_data21            ,
                  o_data22            ,
                  o_data23            ,
                  o_data24            ,
                  o_data25            ,
                  o_data26            ,
                  o_data27            ,
                  o_data28            ,
                  o_data29            ,
                  o_data30            ,
                  o_data31            ,
                  o_data32            ,
                  o_data33            ,
                  o_data34            ,
                  o_data35            ,
                  o_data36            ,
                  o_data37            ,
                  o_data38            ,
                  o_data39            ,
                  o_data40            ,
                  o_data41            ,
                  o_data42            ,
                  o_data43            ,
                  o_data44            ,
                  o_data45            ,
                  o_data46            ,
                  o_data47            ,
                  o_data48            ,
                  o_data49            ,
                  o_data50            ,
                  o_data51            ,
                  o_data52            ,
                  o_data53            ,
                  o_data54            ,
                  o_data55            ,
                  o_data56            ,
                  o_data57            ,
                  o_data58            ,
                  o_data59            ,
                  o_data60            ,
                  o_data61            ,
                  o_data62            ,
                  o_data63            ,
                  o_data64            ,
                  o_data65            ,
                  o_data66            ,
                  o_data67            ,
                  o_data68            ,
                  o_data69            ,
                  o_data70            ,
                  o_data71            ,
                  o_data72            ,
                  o_data73            ,
                  o_data74            ,
                  o_data75            ,
                  o_data76            ,
                  o_data77            ,
                  o_data78            ,
                  o_data79            ,
                  o_data80            ,
                  o_data81            ,
                  o_data82            ,
                  o_data83            ,
                  o_data84            ,
                  o_data85            ,
                  o_data86            ,
                  o_data87            ,
                  o_data88            ,
                  o_data89            ,
                  o_data90            ,
                  o_data91            ,
                  o_data92            ,
                  o_data93            ,
                  o_data94            ,
                  o_data95            ,
                  o_data96            ,
                  o_data97            ,
                  o_data98            ,
                  o_data99            ,
                  o_data100           ,
                  o_data101           ,
                  o_data102           ,
                  o_data103           ,
                  o_data104           ,
                  o_data105           ,
                  o_data106           ,
                  o_data107           ,
                  o_data108           ,
                  o_data109           ,
                  o_data110           ,
                  o_data111           ,
                  o_data112       
                  );
                    
///////////////////////////////////////
//declaration of input & output
///////////////////////////////////////
input             i_clk               ;
input             i_rst_n             ;
input             i_code_en           ;
input   [6:0]     i_cnt               ;
input   [0:95]    i_data              ;
output  [2:0]     o_data0             ;
output  [2:0]     o_data1             ;
output  [2:0]     o_data2             ;
output  [2:0]     o_data3             ;
output  [2:0]     o_data4             ;
output  [2:0]     o_data5             ;
output  [2:0]     o_data6             ;
output  [2:0]     o_data7             ;
output  [2:0]     o_data8             ;
output  [2:0]     o_data9             ;
output  [2:0]     o_data10            ;
output  [2:0]     o_data11            ;
output  [2:0]     o_data12            ;
output  [2:0]     o_data13            ;
output  [2:0]     o_data14            ;
output  [2:0]     o_data15            ;
output  [2:0]     o_data16            ;
output  [2:0]     o_data17            ;
output  [2:0]     o_data18            ;
output  [2:0]     o_data19            ;
output  [2:0]     o_data20            ;
output  [2:0]     o_data21            ;
output  [2:0]     o_data22            ;
output  [2:0]     o_data23            ;
output  [2:0]     o_data24            ;
output  [2:0]     o_data25            ;
output  [2:0]     o_data26            ;
output  [2:0]     o_data27            ;
output  [2:0]     o_data28            ;
output  [2:0]     o_data29            ;
output  [2:0]     o_data30            ;
output  [2:0]     o_data31            ;
output  [2:0]     o_data32            ;
output  [2:0]     o_data33            ;
output  [2:0]     o_data34            ;
output  [2:0]     o_data35            ;
output  [2:0]     o_data36            ;
output  [2:0]     o_data37            ;
output  [2:0]     o_data38            ;
output  [2:0]     o_data39            ;
output  [2:0]     o_data40            ;
output  [2:0]     o_data41            ;
output  [2:0]     o_data42            ;
output  [2:0]     o_data43            ;
output  [2:0]     o_data44            ;
output  [2:0]     o_data45            ;
output  [2:0]     o_data46            ;
output  [2:0]     o_data47            ;
output  [2:0]     o_data48            ;
output  [2:0]     o_data49            ;
output  [2:0]     o_data50            ;
output  [2:0]     o_data51            ;
output  [2:0]     o_data52            ;
output  [2:0]     o_data53            ;
output  [2:0]     o_data54            ;
output  [2:0]     o_data55            ;
output  [2:0]     o_data56            ;
output  [2:0]     o_data57            ;
output  [2:0]     o_data58            ;
output  [2:0]     o_data59            ;
output  [2:0]     o_data60            ;
output  [2:0]     o_data61            ;
output  [2:0]     o_data62            ;
output  [2:0]     o_data63            ;
output  [2:0]     o_data64            ;
output  [2:0]     o_data65            ;
output  [2:0]     o_data66            ;
output  [2:0]     o_data67            ;
output  [2:0]     o_data68            ;
output  [2:0]     o_data69            ;
output  [2:0]     o_data70            ;
output  [2:0]     o_data71            ;
output  [2:0]     o_data72            ;
output  [2:0]     o_data73            ;
output  [2:0]     o_data74            ;
output  [2:0]     o_data75            ;
output  [2:0]     o_data76            ;
output  [2:0]     o_data77            ;
output  [2:0]     o_data78            ;
output  [2:0]     o_data79            ;
output  [2:0]     o_data80            ;
output  [2:0]     o_data81            ;
output  [2:0]     o_data82            ;
output  [2:0]     o_data83            ;
output  [2:0]     o_data84            ;
output  [2:0]     o_data85            ;
output  [2:0]     o_data86            ;
output  [2:0]     o_data87            ;
output  [2:0]     o_data88            ;
output  [2:0]     o_data89            ;
output  [2:0]     o_data90            ;
output  [2:0]     o_data91            ;
output  [2:0]     o_data92            ;
output  [2:0]     o_data93            ;
output  [2:0]     o_data94            ;
output  [2:0]     o_data95            ;
output  [2:0]     o_data96            ;
output  [2:0]     o_data97            ;
output  [2:0]     o_data98            ;
output  [2:0]     o_data99            ;
output  [2:0]     o_data100           ;
output  [2:0]     o_data101           ;
output  [2:0]     o_data102           ;
output  [2:0]     o_data103           ;
output  [2:0]     o_data104           ;
output  [2:0]     o_data105           ;
output  [2:0]     o_data106           ;
output  [2:0]     o_data107           ;
output  [2:0]     o_data108           ;
output  [2:0]     o_data109           ;
output  [2:0]     o_data110           ;
output  [2:0]     o_data111           ;
output  [2:0]     o_data112           ;

///////////////////////////////////////
//declaration of registers & wires
///////////////////////////////////////
wire     [2:0]   i_data0              ;
wire     [2:0]   i_data1              ;
wire     [2:0]   i_data2              ;
wire     [2:0]   i_data3              ;
wire     [2:0]   i_data4              ;
wire     [2:0]   i_data5              ;
wire     [2:0]   i_data6              ;
wire     [2:0]   i_data7              ;
wire     [2:0]   i_data8              ;
wire     [2:0]   i_data9              ;
wire     [2:0]   i_data10             ;
wire     [2:0]   i_data11             ;
wire     [2:0]   i_data12             ;
wire     [2:0]   i_data13             ;
wire     [2:0]   i_data14             ;
wire     [2:0]   i_data15             ;
wire     [2:0]   i_data16             ;
wire     [2:0]   i_data17             ;
wire     [2:0]   i_data18             ;
wire     [2:0]   i_data19             ;
wire     [2:0]   i_data20             ;
wire     [2:0]   i_data21             ;
wire     [2:0]   i_data22             ;
wire     [2:0]   i_data23             ;
wire     [2:0]   i_data24             ;
wire     [2:0]   i_data25             ;
wire     [2:0]   i_data26             ;
wire     [2:0]   i_data27             ;
wire     [2:0]   i_data28             ;
wire     [2:0]   i_data29             ;
wire     [2:0]   i_data30             ;
wire     [2:0]   i_data31             ;
wire     [1:0]   i_data32             ;
reg      [2:0]   data0                ;
reg      [2:0]   data1                ;
reg      [2:0]   data2                ;
reg      [2:0]   data3                ;
reg      [2:0]   data4                ;
reg      [2:0]   data5                ;
reg      [2:0]   data6                ;
reg      [2:0]   data7                ;
reg      [2:0]   data8                ;
reg      [2:0]   data9                ;
reg      [2:0]   data10               ;
reg      [2:0]   data11               ;
reg      [2:0]   data12               ;
reg      [2:0]   data13               ;
reg      [2:0]   data14               ;
reg      [2:0]   data15               ;
reg      [2:0]   data16               ;
reg      [2:0]   data17               ;
reg      [2:0]   data18               ;
reg      [2:0]   data19               ;
reg      [2:0]   data20               ;
reg      [2:0]   data21               ;
reg      [2:0]   data22               ;
reg      [2:0]   data23               ;
reg      [2:0]   data24               ;
reg      [2:0]   data25               ;
reg      [2:0]   data26               ;
reg      [2:0]   data27               ;
reg      [2:0]   data28               ;
reg      [2:0]   data29               ;
reg      [2:0]   data30               ;
reg      [2:0]   data31               ;
reg      [2:0]   d0_data0             ;
reg      [2:0]   d0_data1             ;
reg      [2:0]   d0_data2             ;
reg      [2:0]   d0_data3             ;
reg      [2:0]   d0_data4             ;
reg      [2:0]   d0_data5             ;
reg      [2:0]   d0_data6             ;
reg      [2:0]   d0_data7             ;
reg      [2:0]   d0_data8             ;
reg      [2:0]   d0_data9             ;
reg      [2:0]   d0_data10            ;
reg      [2:0]   d0_data11            ;
reg      [2:0]   d0_data12            ;
reg      [2:0]   d0_data13            ;
reg      [2:0]   d0_data14            ;
reg      [2:0]   d0_data15            ;
reg      [2:0]   d0_data16            ;
reg      [2:0]   d0_data17            ;
reg      [2:0]   d0_data18            ;
reg      [2:0]   d0_data19            ;
reg      [2:0]   d0_data20            ;
reg      [2:0]   d0_data21            ;
reg      [2:0]   d0_data22            ;
reg      [2:0]   d0_data23            ;
reg      [2:0]   d0_data24            ;
reg      [2:0]   d0_data25            ;
reg      [2:0]   d0_data26            ;
reg      [2:0]   d0_data27            ;
reg      [2:0]   d0_data28            ;
reg      [2:0]   d0_data29            ;
reg      [2:0]   d0_data30            ;
reg      [2:0]   d0_data31            ;
reg      [2:0]   o_data0              ;
reg      [2:0]   o_data1              ;
reg      [2:0]   o_data2              ;
reg      [2:0]   o_data3              ;
reg      [2:0]   o_data4              ;
reg      [2:0]   o_data5              ;
reg      [2:0]   o_data6              ;
reg      [2:0]   o_data7              ;
reg      [2:0]   o_data8              ;
reg      [2:0]   o_data9              ;
reg      [2:0]   o_data10             ;
reg      [2:0]   o_data11             ;
reg      [2:0]   o_data12             ;
reg      [2:0]   o_data13             ;
reg      [2:0]   o_data14             ;
reg      [2:0]   o_data15             ;
reg      [2:0]   o_data16             ;
reg      [2:0]   o_data17             ;
reg      [2:0]   o_data18             ;
reg      [2:0]   o_data19             ;
reg      [2:0]   o_data20             ;
reg      [2:0]   o_data21             ;
reg      [2:0]   o_data22             ;
reg      [2:0]   o_data23             ;
reg      [2:0]   o_data24             ;
reg      [2:0]   o_data25             ;
reg      [2:0]   o_data26             ;
reg      [2:0]   o_data27             ;
reg      [2:0]   o_data28             ;
reg      [2:0]   o_data29             ;
reg      [2:0]   o_data30             ;
reg      [2:0]   o_data31             ;
reg      [2:0]   o_data32             ;
reg      [2:0]   o_data33             ;
reg      [2:0]   o_data34             ;
reg      [2:0]   o_data35             ;
reg      [2:0]   o_data36             ;
reg      [2:0]   o_data37             ;
reg      [2:0]   o_data38             ;
reg      [2:0]   o_data39             ;
reg      [2:0]   o_data40             ;
reg      [2:0]   o_data41             ;
reg      [2:0]   o_data42             ;
reg      [2:0]   o_data43             ;
reg      [2:0]   o_data44             ;
reg      [2:0]   o_data45             ;
reg      [2:0]   o_data46             ;
reg      [2:0]   o_data47             ;
reg      [2:0]   o_data48             ;
reg      [2:0]   o_data49             ;
reg      [2:0]   o_data50             ;
reg      [2:0]   o_data51             ;
reg      [2:0]   o_data52             ;
reg      [2:0]   o_data53             ;
reg      [2:0]   o_data54             ;
reg      [2:0]   o_data55             ;
reg      [2:0]   o_data56             ;
reg      [2:0]   o_data57             ;
reg      [2:0]   o_data58             ;
reg      [2:0]   o_data59             ;
reg      [2:0]   o_data60             ;
reg      [2:0]   o_data61             ;
reg      [2:0]   o_data62             ;
reg      [2:0]   o_data63             ;
reg      [2:0]   o_data64             ;
reg      [2:0]   o_data65             ;
reg      [2:0]   o_data66             ;
reg      [2:0]   o_data67             ;
reg      [2:0]   o_data68             ;
reg      [2:0]   o_data69             ;
reg      [2:0]   o_data70             ;
reg      [2:0]   o_data71             ;
reg      [2:0]   o_data72             ;
reg      [2:0]   o_data73             ;
reg      [2:0]   o_data74             ;
reg      [2:0]   o_data75             ;
reg      [2:0]   o_data76             ;
reg      [2:0]   o_data77             ;
reg      [2:0]   o_data78             ;
reg      [2:0]   o_data79             ;
reg      [2:0]   o_data80             ;
reg      [2:0]   o_data81             ;
reg      [2:0]   o_data82             ;
reg      [2:0]   o_data83             ;
reg      [2:0]   o_data84             ;
reg      [2:0]   o_data85             ;
reg      [2:0]   o_data86             ;
reg      [2:0]   o_data87             ;
reg      [2:0]   o_data88             ;
reg      [2:0]   o_data89             ;
reg      [2:0]   o_data90             ;
reg      [2:0]   o_data91             ;
reg      [2:0]   o_data92             ;
reg      [2:0]   o_data93             ;
reg      [2:0]   o_data94             ;
reg      [2:0]   o_data95             ;
reg      [2:0]   o_data96             ;
reg      [2:0]   o_data97             ;
reg      [2:0]   o_data98             ;
reg      [2:0]   o_data99             ;
reg      [2:0]   o_data100            ;
reg      [2:0]   o_data101            ;
reg      [2:0]   o_data102            ;
reg      [2:0]   o_data103            ;
reg      [2:0]   o_data104            ;
reg      [2:0]   o_data105            ;
reg      [2:0]   o_data106            ;
reg      [2:0]   o_data107            ;
reg      [2:0]   o_data108            ;
reg      [2:0]   o_data109            ;
reg      [2:0]   o_data110            ;
reg      [2:0]   o_data111            ;
reg      [2:0]   o_data112            ;

parameter DATA0  = 1'b0               ; 
///////////////////////////////////////
//            function
///////////////////////////////////////

///////////////////////////////////////
//Multiply the information by 2.
///////////////////////////////////////
function[2:0] mh2;
input[2:0] data;
    case(data)
        3'd0:mh2 = 3'd0;
        3'd1:mh2 = 3'd2;
        3'd2:mh2 = 3'd4;
        3'd3:mh2 = 3'd6;
        3'd4:mh2 = 3'd3;
        3'd5:mh2 = 3'd1;
        3'd6:mh2 = 3'd7;
        3'd7:mh2 = 3'd5;
    endcase
endfunction

///////////////////////////////////////
//Multiply the information by 3.
/////////////////////////////////////// 
function[2:0] mh3;
input[2:0] data;
    case(data)
        3'd0:mh3 = 3'd0;
        3'd1:mh3 = 3'd3;
        3'd2:mh3 = 3'd6;
        3'd3:mh3 = 3'd5;
        3'd4:mh3 = 3'd7;
        3'd5:mh3 = 3'd4;
        3'd6:mh3 = 3'd1;
        3'd7:mh3 = 3'd2;
    endcase
endfunction

///////////////////////////////////////
//Multiply the information by 4.
///////////////////////////////////////
function[2:0] mh4;
input[2:0] data;
    case(data)
        3'd0:mh4 = 3'd0;
        3'd1:mh4 = 3'd4;
        3'd2:mh4 = 3'd3;
        3'd3:mh4 = 3'd7;
        3'd4:mh4 = 3'd6;
        3'd5:mh4 = 3'd2;
        3'd6:mh4 = 3'd5;
        3'd7:mh4 = 3'd1;
    endcase
endfunction

///////////////////////////////////////
//Multiply the information by 5.
///////////////////////////////////////
function[2:0] mh5;
input[2:0] data;
    case(data)
        3'd0:mh5 = 3'd0;
        3'd1:mh5 = 3'd5;
        3'd2:mh5 = 3'd1;
        3'd3:mh5 = 3'd4;
        3'd4:mh5 = 3'd2;
        3'd5:mh5 = 3'd7;
        3'd6:mh5 = 3'd3;
        3'd7:mh5 = 3'd6;
    endcase
endfunction

///////////////////////////////////////
//Multiply the information by 6.
///////////////////////////////////////
function[2:0] mh6;
input[2:0] data;
    case(data)
        3'd0:mh6 = 3'd0;
        3'd1:mh6 = 3'd6;
        3'd2:mh6 = 3'd7;
        3'd3:mh6 = 3'd1;
        3'd4:mh6 = 3'd5;
        3'd5:mh6 = 3'd3;
        3'd6:mh6 = 3'd2;
        3'd7:mh6 = 3'd4;
    endcase
endfunction

///////////////////////////////////////
//Multiply the information by 7.
/////////////////////////////////////// 
function[2:0] mh7;
input[2:0] data;
    case(data)
        3'd0:mh7 = 3'd0;
        3'd1:mh7 = 3'd7;
        3'd2:mh7 = 3'd5;
        3'd3:mh7 = 3'd2;
        3'd4:mh7 = 3'd1;
        3'd5:mh7 = 3'd6;
        3'd6:mh7 = 3'd4;
        3'd7:mh7 = 3'd3;
    endcase
endfunction

///////////////////////////////////////
//            program 
/////////////////////////////////////// 
assign i_data0 = i_data[0:2]          ;
assign i_data1 = i_data[3:5]          ;
assign i_data2 = i_data[6:8]          ;
assign i_data3 = i_data[9:11]         ;
assign i_data4 = i_data[12:14]        ;
assign i_data5 = i_data[15:17]        ;
assign i_data6 = i_data[18:20]        ;
assign i_data7 = i_data[21:23]        ;
assign i_data8 = i_data[24:26]        ;
assign i_data9 = i_data[27:29]        ;
assign i_data10 = i_data[30:32]       ;
assign i_data11 = i_data[33:35]       ;
assign i_data12 = i_data[36:38]       ;
assign i_data13 = i_data[39:41]       ;
assign i_data14 = i_data[42:44]       ;
assign i_data15 = i_data[45:47]       ;
assign i_data16 = i_data[48:50]       ;
assign i_data17 = i_data[51:53]       ;
assign i_data18 = i_data[54:56]       ;
assign i_data19 = i_data[57:59]       ;
assign i_data20 = i_data[60:62]       ;
assign i_data21 = i_data[63:65]       ;
assign i_data22 = i_data[66:68]       ;
assign i_data23 = i_data[69:71]       ;
assign i_data24 = i_data[72:74]       ;
assign i_data25 = i_data[75:77]       ;
assign i_data26 = i_data[78:80]       ;
assign i_data27 = i_data[81:83]       ;
assign i_data28 = i_data[84:86]       ;
assign i_data29 = i_data[87:89]       ;
assign i_data30 = i_data[90:92]       ;
assign i_data31 = i_data[93:95]       ;
assign i_data32 = i_data[30:31]       ;

///////////////////////////////////////
//Group each row according to 32 GF8 symbols as a group 
///////////////////////////////////////
always@(i_code_en or i_cnt or i_data0 or i_data1 or i_data2 or i_data3 or i_data4 or i_data5 or i_data6 or i_data7 or i_data8 or i_data9 or i_data10 or i_data11 or i_data12 or i_data13 or i_data14 or i_data15 or i_data16 or i_data17 or i_data18 or i_data19 or i_data20 or i_data21 or i_data22 or i_data23 or i_data24 or i_data25 or i_data26 or i_data27 or i_data28 or i_data29 or i_data30 or i_data31 or d0_data0 or d0_data1 or d0_data2 or d0_data3 or d0_data4 or d0_data5 or d0_data6 or d0_data7 or d0_data8 or d0_data9 or d0_data10 or d0_data11 or d0_data12 or d0_data13 or d0_data14 or d0_data15 or d0_data16 or d0_data17 or d0_data18 or d0_data19 or d0_data20 or d0_data21 or d0_data22 or d0_data23 or d0_data24 or d0_data25 or d0_data26 or d0_data27 or d0_data28 or d0_data29 or d0_data30 or d0_data31)
if(i_code_en == 1'b1)begin
case(i_cnt)
    7'd1:begin
            data0   <= mh7(i_data0) ;
            data1   <= mh2(i_data1) ;
            data2   <= mh3(i_data2) ;
            data3   <= mh7(i_data3) ;
            data4   <= i_data4      ;
            data5   <= mh4(i_data5) ;
            data6   <= i_data6      ;
            data7   <= mh2(i_data7) ;
            data8   <= mh7(i_data8) ;
            data9   <= mh7(i_data9) ;
            data10  <= mh4(i_data10);
            data11  <= mh6(i_data11);
            data12  <= mh6(i_data12);
            data13  <= i_data13     ;
            data14  <= mh6(i_data14);
            data15  <= mh4(i_data15);
            data16  <= mh4(i_data16);
            data17  <= mh7(i_data17);
            data18  <= mh5(i_data18);
            data19  <= mh4(i_data19);
            data20  <= i_data20     ;
            data21  <= mh3(i_data21);
            data22  <= mh6(i_data22);
            data23  <= i_data23     ;
            data24  <= mh5(i_data24);
            data25  <= mh5(i_data25);
            data26  <= mh2(i_data26);
            data27  <= i_data27     ;
            data28  <= i_data28     ;
            data29  <= i_data29     ;
            data30  <= mh4(i_data30);
            data31  <= mh2(i_data31);
          end
    7'd2:begin
            data0   <= mh2(i_data0) ;
            data1   <= mh5(i_data1) ;
            data2   <= mh2(i_data2) ;
            data3   <= i_data3      ;
            data4   <= mh3(i_data4) ;
            data5   <= mh7(i_data5) ;
            data6   <= mh2(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= i_data8      ;
            data9   <= mh2(i_data9) ;
            data10  <= mh3(i_data10);
            data11  <= mh5(i_data11);
            data12  <= mh7(i_data12);
            data13  <= mh5(i_data13);
            data14  <= mh4(i_data14);
            data15  <= mh6(i_data15);
            data16  <= i_data16     ;
            data17  <= mh6(i_data17);
            data18  <= mh3(i_data18);
            data19  <= mh7(i_data19);
            data20  <= mh3(i_data20);
            data21  <= mh4(i_data21);
            data22  <= mh2(i_data22);
            data23  <= i_data23     ;
            data24  <= mh3(i_data24);
            data25  <= mh6(i_data25);
            data26  <= mh5(i_data26);
            data27  <= mh3(i_data27);
            data28  <= mh7(i_data28);
            data29  <= mh3(i_data29);
            data30  <= i_data30     ;
            data31  <= mh5(i_data31);
          end
    7'd3:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh2(i_data1) ;
            data2   <= i_data2      ;
            data3   <= mh5(i_data3) ;
            data4   <= mh2(i_data4) ;
            data5   <= mh2(i_data5) ;
            data6   <= mh6(i_data6) ;
            data7   <= mh3(i_data7) ;
            data8   <= mh4(i_data8) ;
            data9   <= i_data9      ;
            data10  <= mh7(i_data10);
            data11  <= mh2(i_data11);
            data12  <= i_data12     ;
            data13  <= mh7(i_data13);
            data14  <= mh6(i_data14);
            data15  <= mh2(i_data15);
            data16  <= mh5(i_data16);
            data17  <= mh6(i_data17);
            data18  <= mh6(i_data18);
            data19  <= i_data19     ;
            data20  <= mh3(i_data20);
            data21  <= mh4(i_data21);
            data22  <= mh5(i_data22);
            data23  <= i_data23     ;
            data24  <= i_data24     ;
            data25  <= mh6(i_data25);
            data26  <= i_data26     ;
            data27  <= mh5(i_data27);
            data28  <= mh6(i_data28);
            data29  <= mh4(i_data29);
            data30  <= mh2(i_data30);
            data31  <= i_data31     ;
          end
    7'd4:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh2(i_data1) ;
            data2   <= mh2(i_data2) ;
            data3   <= mh4(i_data3) ;
            data4   <= mh4(i_data4) ;
            data5   <= mh2(i_data5) ;
            data6   <= i_data6      ;
            data7   <= mh5(i_data7) ;
            data8   <= mh4(i_data8) ;
            data9   <= mh3(i_data9) ;
            data10  <= mh5(i_data10);
            data11  <= i_data11     ;
            data12  <= i_data12     ;
            data13  <= mh2(i_data13);
            data14  <= mh5(i_data14);
            data15  <= mh7(i_data15);
            data16  <= mh5(i_data16);
            data17  <= mh6(i_data17);
            data18  <= mh2(i_data18);
            data19  <= mh6(i_data19);
            data20  <= mh5(i_data20);
            data21  <= mh4(i_data21);
            data22  <= mh3(i_data22);
            data23  <= mh2(i_data23);
            data24  <= mh6(i_data24);
            data25  <= mh6(i_data25);
            data26  <= mh5(i_data26);
            data27  <= mh5(i_data27);
            data28  <= mh4(i_data28);
            data29  <= mh4(i_data29);
            data30  <= mh5(i_data30);
            data31  <= mh7(i_data31);
          end
    7'd5:begin
            data0   <= i_data0      ;
            data1   <= mh6(i_data1) ;
            data2   <= mh3(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= mh4(i_data4) ;
            data5   <= mh7(i_data5) ;
            data6   <= mh7(i_data6) ;
            data7   <= mh6(i_data7) ;
            data8   <= mh6(i_data8) ;
            data9   <= mh4(i_data9) ;
            data10  <= mh3(i_data10);
            data11  <= mh3(i_data11);
            data12  <= mh3(i_data12);
            data13  <= i_data13     ;
            data14  <= mh3(i_data14);
            data15  <= mh3(i_data15);
            data16  <= mh6(i_data16);
            data17  <= mh6(i_data17);
            data18  <= mh2(i_data18);
            data19  <= mh5(i_data19);
            data20  <= mh3(i_data20);
            data21  <= mh2(i_data21);
            data22  <= i_data22     ;
            data23  <= mh4(i_data23);
            data24  <= mh5(i_data24);
            data25  <= mh3(i_data25);
            data26  <= mh7(i_data26);
            data27  <= mh7(i_data27);
            data28  <= mh3(i_data28);
            data29  <= mh4(i_data29);
            data30  <= mh3(i_data30);
            data31  <= i_data31     ;
          end
    7'd6:begin
            data0   <= mh3(i_data0) ;
            data1   <= mh7(i_data1) ;
            data2   <= mh4(i_data2) ;
            data3   <= mh2(i_data3) ;
            data4   <= mh6(i_data4) ;
            data5   <= mh5(i_data5) ;
            data6   <= mh7(i_data6) ;
            data7   <= mh5(i_data7) ;
            data8   <= mh4(i_data8) ;
            data9   <= mh5(i_data9) ;
            data10  <= mh7(i_data10);
            data11  <= i_data11     ;
            data12  <= mh4(i_data12);
            data13  <= i_data13     ;
            data14  <= mh7(i_data14);
            data15  <= mh3(i_data15);
            data16  <= mh4(i_data16);
            data17  <= mh7(i_data17);
            data18  <= mh4(i_data18);
            data19  <= i_data19     ;
            data20  <= mh5(i_data20);
            data21  <= mh2(i_data21);
            data22  <= mh4(i_data22);
            data23  <= mh3(i_data23);
            data24  <= mh6(i_data24);
            data25  <= mh4(i_data25);
            data26  <= i_data26     ;
            data27  <= mh7(i_data27);
            data28  <= mh2(i_data28);
            data29  <= mh7(i_data29);
            data30  <= i_data30     ;
            data31  <= mh6(i_data31);
          end
    7'd7:begin
            data0   <= i_data0      ;
            data1   <= mh6(i_data1) ;
            data2   <= mh7(i_data2) ;
            data3   <= mh7(i_data3) ;
            data4   <= mh4(i_data4) ;
            data5   <= mh4(i_data5) ;
            data6   <= mh5(i_data6) ;
            data7   <= i_data7      ;
            data8   <= i_data8      ;
            data9   <= i_data9      ;
            data10  <= mh5(i_data10);
            data11  <= mh5(i_data11);
            data12  <= mh2(i_data12);
            data13  <= mh6(i_data13);
            data14  <= mh7(i_data14);
            data15  <= i_data15     ;
            data16  <= mh5(i_data16);
            data17  <= mh3(i_data17);
            data18  <= mh2(i_data18);
            data19  <= i_data19     ;
            data20  <= mh5(i_data20);
            data21  <= mh7(i_data21);
            data22  <= mh6(i_data22);
            data23  <= mh6(i_data23);
            data24  <= mh2(i_data24);
            data25  <= mh3(i_data25);
            data26  <= mh7(i_data26);
            data27  <= mh4(i_data27);
            data28  <= i_data28     ;
            data29  <= i_data29     ;
            data30  <= mh2(i_data30);
            data31  <= mh5(i_data31);
          end
    7'd8:begin
            data0   <= mh2(i_data0) ;
            data1   <= mh2(i_data1) ;
            data2   <= mh6(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= mh2(i_data4) ;
            data5   <= mh3(i_data5) ;
            data6   <= mh5(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= mh7(i_data8) ;
            data9   <= mh3(i_data9) ;
            data10  <= mh5(i_data10);
            data11  <= mh2(i_data11);
            data12  <= i_data12     ;
            data13  <= mh6(i_data13);
            data14  <= i_data14     ;
            data15  <= mh6(i_data15);
            data16  <= mh3(i_data16);
            data17  <= mh7(i_data17);
            data18  <= mh7(i_data18);
            data19  <= i_data19     ;
            data20  <= mh2(i_data20);
            data21  <= i_data21     ;
            data22  <= mh7(i_data22);
            data23  <= mh7(i_data23);
            data24  <= mh2(i_data24);
            data25  <= i_data25     ;
            data26  <= mh3(i_data26);
            data27  <= mh7(i_data27);
            data28  <= mh7(i_data28);
            data29  <= i_data29     ;
            data30  <= mh7(i_data30);
            data31  <= mh3(i_data31);
          end
    7'd9:begin
            data0   <= mh4(i_data0) ;
            data1   <= mh6(i_data1) ;
            data2   <= mh4(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= mh4(i_data4) ;
            data5   <= mh3(i_data5) ;
            data6   <= mh5(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= mh7(i_data8) ;
            data9   <= mh2(i_data9) ;
            data10  <= mh7(i_data10);
            data11  <= mh4(i_data11);
            data12  <= i_data12     ;
            data13  <= mh4(i_data13);
            data14  <= mh6(i_data14);
            data15  <= mh5(i_data15);
            data16  <= i_data16     ;
            data17  <= mh7(i_data17);
            data18  <= i_data18     ;
            data19  <= mh4(i_data19);
            data20  <= mh7(i_data20);
            data21  <= i_data21     ;
            data22  <= mh6(i_data22);
            data23  <= mh7(i_data23);
            data24  <= mh2(i_data24);
            data25  <= mh2(i_data25);
            data26  <= mh4(i_data26);
            data27  <= mh3(i_data27);
            data28  <= mh5(i_data28);
            data29  <= mh2(i_data29);
            data30  <= mh7(i_data30);
            data31  <= mh7(i_data31);
          end
    7'd10:begin
            data0   <= i_data0      ;
            data1   <= mh7(i_data1) ;
            data2   <= i_data2      ;
            data3   <= i_data3      ;
            data4   <= i_data4      ;
            data5   <= i_data5      ;
            data6   <= mh6(i_data6) ;
            data7   <= mh6(i_data7) ;
            data8   <= i_data8      ;
            data9   <= mh5(i_data9) ;
            data10  <= mh5(i_data10);
            data11  <= mh2(i_data11);
            data12  <= mh7(i_data12);
            data13  <= i_data13     ;
            data14  <= mh7(i_data14);
            data15  <= mh7(i_data15);
            data16  <= i_data16     ;
            data17  <= mh7(i_data17);
            data18  <= mh5(i_data18);
            data19  <= mh3(i_data19);
            data20  <= i_data20     ;
            data21  <= i_data21     ;
            data22  <= mh2(i_data22);
            data23  <= i_data23     ;
            data24  <= i_data24     ;
            data25  <= i_data25     ;
            data26  <= mh2(i_data26);
            data27  <= mh3(i_data27);
            data28  <= mh6(i_data28);
            data29  <= mh3(i_data29);
            data30  <= mh2(i_data30);
            data31  <= i_data31     ;
          end
    7'd11:begin
            data0   <= mh6(i_data0) ;
            data1   <= i_data1      ;
            data2   <= mh3(i_data2) ;
            data3   <= mh6(i_data3) ;
            data4   <= i_data4      ;
            data5   <= mh6(i_data5) ;
            data6   <= mh2(i_data6) ;
            data7   <= i_data7      ;
            data8   <= i_data8      ;
            data9   <= mh3(i_data9) ;
            data10  <= mh7(i_data10);
            data11  <= mh2(i_data11);
            data12  <= mh6(i_data12);
            data13  <= mh6(i_data13);
            data14  <= mh3(i_data14);
            data15  <= i_data15     ;
            data16  <= mh5(i_data16);
            data17  <= mh4(i_data17);
            data18  <= mh4(i_data18);
            data19  <= i_data19     ;
            data20  <= mh5(i_data20);
            data21  <= mh2(i_data21);
            data22  <= i_data22     ;
            data23  <= mh3(i_data23);
            data24  <= mh5(i_data24);
            data25  <= mh4(i_data25);
            data26  <= i_data26     ;
            data27  <= mh6(i_data27);
            data28  <= mh6(i_data28);
            data29  <= i_data29     ;
            data30  <= mh6(i_data30);
            data31  <= mh4(i_data31);
          end
    7'd12:begin
            data0   <= mh3(i_data0) ;
            data1   <= mh2(i_data1) ;
            data2   <= mh7(i_data2) ;
            data3   <= i_data3      ;
            data4   <= i_data4      ;
            data5   <= mh5(i_data5) ;
            data6   <= mh3(i_data6) ;
            data7   <= mh3(i_data7) ;
            data8   <= i_data8      ;
            data9   <= mh5(i_data9) ;
            data10  <= mh4(i_data10);
            data11  <= mh3(i_data11);
            data12  <= mh6(i_data12);
            data13  <= mh6(i_data13);
            data14  <= mh2(i_data14);
            data15  <= mh7(i_data15);
            data16  <= mh4(i_data16);
            data17  <= mh4(i_data17);
            data18  <= i_data18     ;
            data19  <= mh2(i_data19);
            data20  <= mh5(i_data20);
            data21  <= mh5(i_data21);
            data22  <= mh6(i_data22);
            data23  <= i_data23     ;
            data24  <= mh3(i_data24);
            data25  <= mh6(i_data25);
            data26  <= mh6(i_data26);
            data27  <= mh2(i_data27);
            data28  <= mh5(i_data28);
            data29  <= i_data29     ;
            data30  <= mh7(i_data30);
            data31  <= i_data31     ;
          end
    7'd13:begin
            data0   <= mh3(i_data0) ;
            data1   <= mh4(i_data1) ;
            data2   <= i_data2      ;
            data3   <= mh5(i_data3) ;
            data4   <= mh2(i_data4) ;
            data5   <= mh6(i_data5) ;
            data6   <= mh3(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= i_data8      ;
            data9   <= mh7(i_data9) ;
            data10  <= i_data10     ;
            data11  <= mh7(i_data11);
            data12  <= mh6(i_data12);
            data13  <= mh7(i_data13);
            data14  <= mh5(i_data14);
            data15  <= mh6(i_data15);
            data16  <= i_data16     ;
            data17  <= mh4(i_data17);
            data18  <= mh7(i_data18);
            data19  <= mh6(i_data19);
            data20  <= i_data20     ;
            data21  <= mh3(i_data21);
            data22  <= mh3(i_data22);
            data23  <= mh4(i_data23);
            data24  <= mh5(i_data24);
            data25  <= mh3(i_data25);
            data26  <= i_data26     ;
            data27  <= mh2(i_data27);
            data28  <= i_data28     ;
            data29  <= mh3(i_data29);
            data30  <= mh6(i_data30);
            data31  <= i_data31     ;
          end
    7'd14:begin
            data0   <= mh3(i_data0) ;
            data1   <= mh7(i_data1) ;
            data2   <= mh5(i_data2) ;
            data3   <= i_data3      ;
            data4   <= mh5(i_data4) ;
            data5   <= mh7(i_data5) ;
            data6   <= mh7(i_data6) ;
            data7   <= mh3(i_data7) ;
            data8   <= i_data8      ;
            data9   <= mh3(i_data9) ;
            data10  <= mh4(i_data10);
            data11  <= mh6(i_data11);
            data12  <= i_data12     ;
            data13  <= i_data13     ;
            data14  <= i_data14     ;
            data15  <= mh6(i_data15);
            data16  <= mh7(i_data16);
            data17  <= mh2(i_data17);
            data18  <= mh7(i_data18);
            data19  <= mh5(i_data19);
            data20  <= mh3(i_data20);
            data21  <= mh6(i_data21);
            data22  <= mh4(i_data22);
            data23  <= i_data23     ;
            data24  <= mh2(i_data24);
            data25  <= mh7(i_data25);
            data26  <= mh5(i_data26);
            data27  <= mh6(i_data27);
            data28  <= mh3(i_data28);
            data29  <= mh3(i_data29);
            data30  <= mh4(i_data30);
            data31  <= mh2(i_data31);
          end
    7'd15:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh6(i_data1) ;
            data2   <= mh6(i_data2) ;
            data3   <= i_data3      ;
            data4   <= mh3(i_data4) ;
            data5   <= mh6(i_data5) ;
            data6   <= mh7(i_data6) ;
            data7   <= mh3(i_data7) ;
            data8   <= i_data8      ;
            data9   <= mh4(i_data9) ;
            data10  <= mh3(i_data10);
            data11  <= mh4(i_data11);
            data12  <= mh6(i_data12);
            data13  <= mh2(i_data13);
            data14  <= i_data14     ;
            data15  <= i_data15     ;
            data16  <= mh5(i_data16);
            data17  <= mh6(i_data17);
            data18  <= i_data18     ;
            data19  <= mh3(i_data19);
            data20  <= mh6(i_data20);
            data21  <= i_data21     ;
            data22  <= mh6(i_data22);
            data23  <= i_data23     ;
            data24  <= mh7(i_data24);
            data25  <= mh6(i_data25);
            data26  <= mh6(i_data26);
            data27  <= mh4(i_data27);
            data28  <= mh6(i_data28);
            data29  <= i_data29     ;
            data30  <= mh3(i_data30);
            data31  <= mh4(i_data31);
          end
    7'd16:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh3(i_data1) ;
            data2   <= mh4(i_data2) ;
            data3   <= i_data3      ;
            data4   <= mh7(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh2(i_data6) ;
            data7   <= mh2(i_data7) ;
            data8   <= mh5(i_data8) ;
            data9   <= mh6(i_data9) ;
            data10  <= mh6(i_data10);
            data11  <= mh2(i_data11);
            data12  <= mh4(i_data12);
            data13  <= mh3(i_data13);
            data14  <= mh2(i_data14);
            data15  <= i_data15     ;
            data16  <= mh6(i_data16);
            data17  <= mh5(i_data17);
            data18  <= mh6(i_data18);
            data19  <= mh6(i_data19);
            data20  <= i_data20     ;
            data21  <= mh4(i_data21);
            data22  <= mh7(i_data22);
            data23  <= mh2(i_data23);
            data24  <= mh2(i_data24);
            data25  <= mh6(i_data25);
            data26  <= mh7(i_data26);
            data27  <= mh3(i_data27);
            data28  <= mh7(i_data28);
            data29  <= mh2(i_data29);
            data30  <= mh2(i_data30);
            data31  <= i_data31     ;
          end
    7'd17:begin
            data0   <= i_data0      ;
            data1   <= mh4(i_data1) ;
            data2   <= i_data2      ;
            data3   <= mh4(i_data3) ;
            data4   <= mh5(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh3(i_data6) ;
            data7   <= mh6(i_data7) ;
            data8   <= mh3(i_data8) ;
            data9   <= mh3(i_data9) ;
            data10  <= mh3(i_data10);
            data11  <= mh2(i_data11);
            data12  <= mh5(i_data12);
            data13  <= mh6(i_data13);
            data14  <= mh6(i_data14);
            data15  <= mh4(i_data15);
            data16  <= mh6(i_data16);
            data17  <= mh4(i_data17);
            data18  <= mh4(i_data18);
            data19  <= i_data19     ;
            data20  <= i_data20     ;
            data21  <= mh6(i_data21);
            data22  <= mh4(i_data22);
            data23  <= mh5(i_data23);
            data24  <= mh4(i_data24);
            data25  <= mh2(i_data25);
            data26  <= i_data26     ;
            data27  <= mh2(i_data27);
            data28  <= mh6(i_data28);
            data29  <= mh6(i_data29);
            data30  <= mh7(i_data30);
            data31  <= mh5(i_data31);
          end
    7'd18:begin
            data0   <= mh7(i_data0) ;
            data1   <= mh3(i_data1) ;
            data2   <= mh5(i_data2) ;
            data3   <= mh7(i_data3) ;
            data4   <= i_data4      ;
            data5   <= mh5(i_data5) ;
            data6   <= mh4(i_data6) ;
            data7   <= mh6(i_data7) ;
            data8   <= mh3(i_data8) ;
            data9   <= i_data9      ;
            data10  <= mh6(i_data10);
            data11  <= i_data11     ;
            data12  <= mh7(i_data12);
            data13  <= mh3(i_data13);
            data14  <= mh5(i_data14);
            data15  <= mh7(i_data15);
            data16  <= mh5(i_data16);
            data17  <= mh6(i_data17);
            data18  <= mh4(i_data18);
            data19  <= i_data19     ;
            data20  <= mh3(i_data20);
            data21  <= mh6(i_data21);
            data22  <= mh4(i_data22);
            data23  <= mh4(i_data23);
            data24  <= mh3(i_data24);
            data25  <= mh3(i_data25);
            data26  <= mh7(i_data26);
            data27  <= mh2(i_data27);
            data28  <= mh6(i_data28);
            data29  <= mh2(i_data29);
            data30  <= mh6(i_data30);
            data31  <= mh6(i_data31);
          end
    7'd19:begin
            data0   <= i_data0      ;
            data1   <= i_data1      ;
            data2   <= mh7(i_data2) ;
            data3   <= mh3(i_data3) ;
            data4   <= mh6(i_data4) ;
            data5   <= mh4(i_data5) ;
            data6   <= mh7(i_data6) ;
            data7   <= mh3(i_data7) ;
            data8   <= mh4(i_data8) ;
            data9   <= mh6(i_data9) ;
            data10  <= mh6(i_data10);
            data11  <= mh7(i_data11);
            data12  <= mh7(i_data12);
            data13  <= i_data13     ;
            data14  <= i_data14     ;
            data15  <= mh4(i_data15);
            data16  <= mh7(i_data16);
            data17  <= i_data17     ;
            data18  <= mh5(i_data18);
            data19  <= mh3(i_data19);
            data20  <= mh3(i_data20);
            data21  <= mh7(i_data21);
            data22  <= mh4(i_data22);
            data23  <= mh6(i_data23);
            data24  <= mh3(i_data24);
            data25  <= mh5(i_data25);
            data26  <= mh6(i_data26);
            data27  <= mh2(i_data27);
            data28  <= mh7(i_data28);
            data29  <= mh3(i_data29);
            data30  <= i_data30     ;
            data31  <= mh4(i_data31);
          end
    7'd20:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh7(i_data1) ;
            data2   <= mh3(i_data2) ;
            data3   <= mh3(i_data3) ;
            data4   <= mh6(i_data4) ;
            data5   <= mh3(i_data5) ;
            data6   <= i_data6      ;
            data7   <= mh3(i_data7) ;
            data8   <= i_data8      ;
            data9   <= mh4(i_data9) ;
            data10  <= mh6(i_data10);
            data11  <= mh7(i_data11);
            data12  <= mh5(i_data12);
            data13  <= mh6(i_data13);
            data14  <= mh2(i_data14);
            data15  <= mh5(i_data15);
            data16  <= mh4(i_data16);
            data17  <= mh4(i_data17);
            data18  <= mh4(i_data18);
            data19  <= mh2(i_data19);
            data20  <= mh2(i_data20);
            data21  <= mh2(i_data21);
            data22  <= mh4(i_data22);
            data23  <= mh5(i_data23);
            data24  <= mh5(i_data24);
            data25  <= mh6(i_data25);
            data26  <= mh6(i_data26);
            data27  <= mh5(i_data27);
            data28  <= mh6(i_data28);
            data29  <= mh7(i_data29);
            data30  <= mh2(i_data30);
            data31  <= mh5(i_data31);
          end
    7'd21:begin
            data0   <= mh3(i_data0) ;
            data1   <= i_data1      ;
            data2   <= i_data2      ;
            data3   <= i_data3      ;
            data4   <= mh5(i_data4) ;
            data5   <= mh6(i_data5) ;
            data6   <= mh2(i_data6) ;
            data7   <= mh3(i_data7) ;
            data8   <= mh5(i_data8) ;
            data9   <= mh7(i_data9) ;
            data10  <= mh5(i_data10);
            data11  <= mh4(i_data11);
            data12  <= mh4(i_data12);
            data13  <= i_data13     ;
            data14  <= mh2(i_data14);
            data15  <= mh7(i_data15);
            data16  <= mh3(i_data16);
            data17  <= mh3(i_data17);
            data18  <= i_data18     ;
            data19  <= mh4(i_data19);
            data20  <= mh5(i_data20);
            data21  <= i_data21     ;
            data22  <= mh2(i_data22);
            data23  <= mh6(i_data23);
            data24  <= mh7(i_data24);
            data25  <= mh4(i_data25);
            data26  <= mh3(i_data26);
            data27  <= mh6(i_data27);
            data28  <= mh4(i_data28);
            data29  <= mh5(i_data29);
            data30  <= i_data30     ;
            data31  <= mh3(i_data31);
          end
    7'd22:begin
            data0   <= mh5(i_data0) ;
            data1   <= i_data1      ;
            data2   <= mh2(i_data2) ;
            data3   <= i_data3      ;
            data4   <= i_data4      ;
            data5   <= mh5(i_data5) ;
            data6   <= mh7(i_data6) ;
            data7   <= mh4(i_data7) ;
            data8   <= mh2(i_data8) ;
            data9   <= mh5(i_data9) ;
            data10  <= mh5(i_data10);
            data11  <= mh5(i_data11);
            data12  <= mh4(i_data12);
            data13  <= mh2(i_data13);
            data14  <= i_data14     ;
            data15  <= mh3(i_data15);
            data16  <= i_data16     ;
            data17  <= i_data17     ;
            data18  <= mh7(i_data18);
            data19  <= mh4(i_data19);
            data20  <= mh7(i_data20);
            data21  <= mh2(i_data21);
            data22  <= mh3(i_data22);
            data23  <= mh6(i_data23);
            data24  <= mh7(i_data24);
            data25  <= mh3(i_data25);
            data26  <= mh4(i_data26);
            data27  <= mh7(i_data27);
            data28  <= mh4(i_data28);
            data29  <= mh5(i_data29);
            data30  <= mh6(i_data30);
            data31  <= mh2(i_data31);
          end
    7'd23:begin
            data0   <= mh2(i_data0) ;
            data1   <= mh3(i_data1) ;
            data2   <= mh6(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= mh3(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh7(i_data6) ;
            data7   <= i_data7      ;
            data8   <= mh2(i_data8) ;
            data9   <= mh2(i_data9) ;
            data10  <= i_data10     ;
            data11  <= mh7(i_data11);
            data12  <= i_data12     ;
            data13  <= mh3(i_data13);
            data14  <= mh3(i_data14);
            data15  <= mh3(i_data15);
            data16  <= mh5(i_data16);
            data17  <= mh6(i_data17);
            data18  <= i_data18     ;
            data19  <= i_data19     ;
            data20  <= mh2(i_data20);
            data21  <= mh6(i_data21);
            data22  <= mh3(i_data22);
            data23  <= mh6(i_data23);
            data24  <= mh7(i_data24);
            data25  <= mh2(i_data25);
            data26  <= mh4(i_data26);
            data27  <= i_data27     ;
            data28  <= mh4(i_data28);
            data29  <= mh3(i_data29);
            data30  <= mh7(i_data30);
            data31  <= mh4(i_data31);
          end
    7'd24:begin
            data0   <= i_data0      ;
            data1   <= mh2(i_data1) ;
            data2   <= mh7(i_data2) ;
            data3   <= mh3(i_data3) ;
            data4   <= mh7(i_data4) ;
            data5   <= mh4(i_data5) ;
            data6   <= mh6(i_data6) ;
            data7   <= mh5(i_data7) ;
            data8   <= mh6(i_data8) ;
            data9   <= mh6(i_data9) ;
            data10  <= mh6(i_data10);
            data11  <= mh7(i_data11);
            data12  <= mh5(i_data12);
            data13  <= mh7(i_data13);
            data14  <= mh5(i_data14);
            data15  <= i_data15     ;
            data16  <= mh4(i_data16);
            data17  <= mh4(i_data17);
            data18  <= mh4(i_data18);
            data19  <= mh5(i_data19);
            data20  <= i_data20     ;
            data21  <= mh3(i_data21);
            data22  <= mh2(i_data22);
            data23  <= mh2(i_data23);
            data24  <= mh2(i_data24);
            data25  <= i_data25     ;
            data26  <= mh3(i_data26);
            data27  <= mh3(i_data27);
            data28  <= mh2(i_data28);
            data29  <= mh2(i_data29);
            data30  <= mh4(i_data30);
            data31  <= mh6(i_data31);
          end
    7'd25:begin
            data0   <= mh5(i_data0) ;
            data1   <= mh6(i_data1) ;
            data2   <= mh6(i_data2) ;
            data3   <= mh7(i_data3) ;
            data4   <= mh2(i_data4) ;
            data5   <= mh2(i_data5) ;
            data6   <= mh3(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= i_data8      ;
            data9   <= mh4(i_data9) ;
            data10  <= mh2(i_data10);
            data11  <= mh3(i_data11);
            data12  <= mh2(i_data12);
            data13  <= mh2(i_data13);
            data14  <= mh7(i_data14);
            data15  <= mh2(i_data15);
            data16  <= i_data16     ;
            data17  <= i_data17     ;
            data18  <= mh2(i_data18);
            data19  <= mh2(i_data19);
            data20  <= mh5(i_data20);
            data21  <= mh4(i_data21);
            data22  <= mh4(i_data22);
            data23  <= mh5(i_data23);
            data24  <= mh6(i_data24);
            data25  <= mh3(i_data25);
            data26  <= mh3(i_data26);
            data27  <= mh6(i_data27);
            data28  <= mh6(i_data28);
            data29  <= mh4(i_data29);
            data30  <= mh2(i_data30);
            data31  <= mh4(i_data31);
          end
    7'd26:begin
            data0   <= mh2(i_data0) ;
            data1   <= mh5(i_data1) ;
            data2   <= mh2(i_data2) ;
            data3   <= mh2(i_data3) ;
            data4   <= mh7(i_data4) ;
            data5   <= mh7(i_data5) ;
            data6   <= i_data6      ;
            data7   <= mh7(i_data7) ;
            data8   <= mh6(i_data8) ;
            data9   <= mh4(i_data9) ;
            data10  <= i_data10     ;
            data11  <= mh7(i_data11);
            data12  <= mh6(i_data12);
            data13  <= mh2(i_data13);
            data14  <= mh6(i_data14);
            data15  <= mh7(i_data15);
            data16  <= mh5(i_data16);
            data17  <= i_data17     ;
            data18  <= mh7(i_data18);
            data19  <= i_data19     ;
            data20  <= mh4(i_data20);
            data21  <= i_data21     ;
            data22  <= mh2(i_data22);
            data23  <= mh3(i_data23);
            data24  <= mh4(i_data24);
            data25  <= i_data25     ;
            data26  <= mh3(i_data26);
            data27  <= i_data27     ;
            data28  <= mh6(i_data28);
            data29  <= i_data29     ;
            data30  <= i_data30     ;
            data31  <= i_data31     ;
          end
    7'd27:begin
            data0   <= mh7(i_data0) ;
            data1   <= i_data1      ;
            data2   <= mh7(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= mh6(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh5(i_data6) ;
            data7   <= mh3(i_data7) ;
            data8   <= mh6(i_data8) ;
            data9   <= mh5(i_data9) ;
            data10  <= mh6(i_data10);
            data11  <= mh5(i_data11);
            data12  <= i_data12     ;
            data13  <= mh7(i_data13);
            data14  <= mh6(i_data14);
            data15  <= mh7(i_data15);
            data16  <= mh4(i_data16);
            data17  <= mh5(i_data17);
            data18  <= i_data18     ;
            data19  <= mh7(i_data19);
            data20  <= i_data20     ;
            data21  <= mh3(i_data21);
            data22  <= i_data22     ;
            data23  <= mh3(i_data23);
            data24  <= mh6(i_data24);
            data25  <= mh4(i_data25);
            data26  <= mh5(i_data26);
            data27  <= mh2(i_data27);
            data28  <= i_data28     ;
            data29  <= i_data29     ;
            data30  <= i_data30     ;
            data31  <= mh7(i_data31);
          end
    7'd28:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh5(i_data1) ;
            data2   <= mh5(i_data2) ;
            data3   <= mh3(i_data3) ;
            data4   <= i_data4      ;
            data5   <= mh6(i_data5) ;
            data6   <= mh4(i_data6) ;
            data7   <= mh2(i_data7) ;
            data8   <= mh2(i_data8) ;
            data9   <= mh5(i_data9) ;
            data10  <= mh3(i_data10);
            data11  <= mh5(i_data11);
            data12  <= i_data12     ;
            data13  <= mh7(i_data13);
            data14  <= mh4(i_data14);
            data15  <= mh2(i_data15);
            data16  <= mh6(i_data16);
            data17  <= i_data17     ;
            data18  <= mh4(i_data18);
            data19  <= mh4(i_data19);
            data20  <= mh5(i_data20);
            data21  <= i_data21     ;
            data22  <= i_data22     ;
            data23  <= mh3(i_data23);
            data24  <= mh6(i_data24);
            data25  <= i_data25     ;
            data26  <= mh4(i_data26);
            data27  <= mh3(i_data27);
            data28  <= mh6(i_data28);
            data29  <= mh2(i_data29);
            data30  <= mh6(i_data30);
            data31  <= mh2(i_data31);
          end
    7'd29:begin
            data0   <= mh3(i_data0) ;
            data1   <= mh3(i_data1) ;
            data2   <= mh5(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= mh7(i_data4) ;
            data5   <= mh2(i_data5) ;
            data6   <= mh6(i_data6) ;
            data7   <= mh6(i_data7) ;
            data8   <= i_data8      ;
            data9   <= mh4(i_data9) ;
            data10  <= mh6(i_data10);
            data11  <= i_data11     ;
            data12  <= mh2(i_data12);
            data13  <= mh6(i_data13);
            data14  <= mh6(i_data14);
            data15  <= mh4(i_data15);
            data16  <= mh2(i_data16);
            data17  <= i_data17     ;
            data18  <= mh6(i_data18);
            data19  <= i_data19     ;
            data20  <= mh3(i_data20);
            data21  <= mh5(i_data21);
            data22  <= i_data22     ;
            data23  <= mh4(i_data23);
            data24  <= mh5(i_data24);
            data25  <= mh4(i_data25);
            data26  <= mh6(i_data26);
            data27  <= mh6(i_data27);
            data28  <= mh3(i_data28);
            data29  <= mh7(i_data29);
            data30  <= mh4(i_data30);
            data31  <= i_data31     ;
          end
    7'd30:begin
            data0   <= mh2(i_data0) ;
            data1   <= mh6(i_data1) ;
            data2   <= i_data2      ;
            data3   <= mh3(i_data3) ;
            data4   <= i_data4      ;
            data5   <= mh5(i_data5) ;
            data6   <= i_data6      ;
            data7   <= mh5(i_data7) ;
            data8   <= mh4(i_data8) ;
            data9   <= mh4(i_data9) ;
            data10  <= mh5(i_data10);
            data11  <= mh7(i_data11);
            data12  <= mh4(i_data12);
            data13  <= mh2(i_data13);
            data14  <= mh7(i_data14);
            data15  <= mh6(i_data15);
            data16  <= mh4(i_data16);
            data17  <= mh2(i_data17);
            data18  <= mh7(i_data18);
            data19  <= mh3(i_data19);
            data20  <= mh4(i_data20);
            data21  <= mh5(i_data21);
            data22  <= mh5(i_data22);
            data23  <= mh6(i_data23);
            data24  <= i_data24     ;
            data25  <= mh7(i_data25);
            data26  <= mh3(i_data26);
            data27  <= mh5(i_data27);
            data28  <= mh6(i_data28);
            data29  <= i_data29     ;
            data30  <= mh4(i_data30);
            data31  <= i_data31     ;
          end
    7'd31:begin
            data0   <= i_data0      ;
            data1   <= mh6(i_data1) ;
            data2   <= mh3(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= mh6(i_data4) ;
            data5   <= mh7(i_data5) ;
            data6   <= mh2(i_data6) ;
            data7   <= i_data7      ;
            data8   <= mh3(i_data8) ;
            data9   <= mh6(i_data9) ;
            data10  <= mh2(i_data10);
            data11  <= mh2(i_data11);
            data12  <= mh4(i_data12);
            data13  <= mh2(i_data13);
            data14  <= mh2(i_data14);
            data15  <= mh7(i_data15);
            data16  <= mh7(i_data16);
            data17  <= mh5(i_data17);
            data18  <= i_data18     ;
            data19  <= i_data19     ;
            data20  <= mh3(i_data20);
            data21  <= mh7(i_data21);
            data22  <= mh2(i_data22);
            data23  <= i_data23     ;
            data24  <= mh6(i_data24);
            data25  <= mh4(i_data25);
            data26  <= mh2(i_data26);
            data27  <= mh7(i_data27);
            data28  <= i_data28     ;
            data29  <= i_data29     ;
            data30  <= mh3(i_data30);
            data31  <= i_data31     ;
          end
    7'd32:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh3(i_data1) ;
            data2   <= mh5(i_data2) ;
            data3   <= mh2(i_data3) ;
            data4   <= mh6(i_data4) ;
            data5   <= mh2(i_data5) ;
            data6   <= mh7(i_data6) ;
            data7   <= mh4(i_data7) ;
            data8   <= mh7(i_data8) ;
            data9   <= mh2(i_data9) ;
            data10  <= i_data10     ;
            data11  <= i_data11     ;
            data12  <= i_data12     ;
            data13  <= mh6(i_data13);
            data14  <= mh5(i_data14);
            data15  <= mh4(i_data15);
            data16  <= mh6(i_data16);
            data17  <= mh7(i_data17);
            data18  <= mh2(i_data18);
            data19  <= mh7(i_data19);
            data20  <= mh2(i_data20);
            data21  <= mh2(i_data21);
            data22  <= mh3(i_data22);
            data23  <= mh2(i_data23);
            data24  <= i_data24     ;
            data25  <= mh4(i_data25);
            data26  <= mh2(i_data26);
            data27  <= mh6(i_data27);
            data28  <= mh3(i_data28);
            data29  <= mh3(i_data29);
            data30  <= mh3(i_data30);
            data31  <= mh4(i_data31);
          end
    7'd33:begin
            data0   <= mh3(i_data0) ;
            data1   <= mh6(i_data1) ;
            data2   <= mh3(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= mh3(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh6(i_data6) ;
            data7   <= mh2(i_data7) ;
            data8   <= mh3(i_data8) ;
            data9   <= mh2(i_data9) ;
            data10  <= i_data10     ;
            data11  <= mh5(i_data11);
            data12  <= mh4(i_data12);
            data13  <= mh7(i_data13);
            data14  <= mh7(i_data14);
            data15  <= mh7(i_data15);
            data16  <= i_data16     ;
            data17  <= mh6(i_data17);
            data18  <= mh3(i_data18);
            data19  <= mh6(i_data19);
            data20  <= mh7(i_data20);
            data21  <= mh5(i_data21);
            data22  <= mh5(i_data22);
            data23  <= mh3(i_data23);
            data24  <= mh5(i_data24);
            data25  <= mh4(i_data25);
            data26  <= mh2(i_data26);
            data27  <= i_data27     ;
            data28  <= mh3(i_data28);
            data29  <= mh2(i_data29);
            data30  <= mh3(i_data30);
            data31  <= i_data31     ;
          end
    7'd34:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh4(i_data1) ;
            data2   <= mh4(i_data2) ;
            data3   <= mh2(i_data3) ;
            data4   <= mh4(i_data4) ;
            data5   <= mh4(i_data5) ;
            data6   <= i_data6      ;
            data7   <= i_data7      ;
            data8   <= mh7(i_data8) ;
            data9   <= mh4(i_data9) ;
            data10  <= mh7(i_data10);
            data11  <= mh2(i_data11);
            data12  <= mh6(i_data12);
            data13  <= i_data13     ;
            data14  <= mh2(i_data14);
            data15  <= i_data15     ;
            data16  <= mh2(i_data16);
            data17  <= i_data17     ;
            data18  <= i_data18     ;
            data19  <= mh2(i_data19);
            data20  <= mh4(i_data20);
            data21  <= i_data21     ;
            data22  <= i_data22     ;
            data23  <= i_data23     ;
            data24  <= mh7(i_data24);
            data25  <= i_data25     ;
            data26  <= mh3(i_data26);
            data27  <= mh5(i_data27);
            data28  <= mh3(i_data28);
            data29  <= i_data29     ;
            data30  <= mh7(i_data30);
            data31  <= mh6(i_data31);
          end
    7'd35:begin
            data0   <= i_data0      ;
            data1   <= i_data1      ;
            data2   <= mh7(i_data2) ;
            data3   <= mh2(i_data3) ;
            data4   <= mh2(i_data4) ;
            data5   <= mh7(i_data5) ;
            data6   <= mh7(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= mh2(i_data8) ;
            data9   <= mh6(i_data9) ;
            data10  <= mh3(i_data10);
            data11  <= mh3(i_data11);
            data12  <= mh7(i_data12);
            data13  <= i_data13     ;
            data14  <= i_data14     ;
            data15  <= mh3(i_data15);
            data16  <= mh3(i_data16);
            data17  <= mh3(i_data17);
            data18  <= mh4(i_data18);
            data19  <= mh5(i_data19);
            data20  <= mh3(i_data20);
            data21  <= mh4(i_data21);
            data22  <= mh5(i_data22);
            data23  <= mh5(i_data23);
            data24  <= mh4(i_data24);
            data25  <= mh7(i_data25);
            data26  <= mh7(i_data26);
            data27  <= mh6(i_data27);
            data28  <= i_data28     ;
            data29  <= mh4(i_data29);
            data30  <= mh6(i_data30);
            data31  <= mh5(i_data31);
          end
    7'd36:begin
            data0   <= mh4(i_data0) ;
            data1   <= mh3(i_data1) ;
            data2   <= mh2(i_data2) ;
            data3   <= mh3(i_data3) ;
            data4   <= mh6(i_data4) ;
            data5   <= mh6(i_data5) ;
            data6   <= mh4(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= mh5(i_data8) ;
            data9   <= i_data9      ;
            data10  <= mh4(i_data10);
            data11  <= i_data11     ;
            data12  <= mh7(i_data12);
            data13  <= mh3(i_data13);
            data14  <= mh7(i_data14);
            data15  <= i_data15     ;
            data16  <= mh4(i_data16);
            data17  <= mh4(i_data17);
            data18  <= mh4(i_data18);
            data19  <= mh5(i_data19);
            data20  <= mh4(i_data20);
            data21  <= mh7(i_data21);
            data22  <= mh3(i_data22);
            data23  <= i_data23     ;
            data24  <= mh7(i_data24);
            data25  <= mh7(i_data25);
            data26  <= mh3(i_data26);
            data27  <= mh6(i_data27);
            data28  <= mh6(i_data28);
            data29  <= mh3(i_data29);
            data30  <= mh6(i_data30);
            data31  <= mh3(i_data31);
          end
    7'd37:begin
            data0   <= mh5(i_data0) ;
            data1   <= mh3(i_data1) ;
            data2   <= mh6(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= mh6(i_data4) ;
            data5   <= mh3(i_data5) ;
            data6   <= mh5(i_data6) ;
            data7   <= mh2(i_data7) ;
            data8   <= mh5(i_data8) ;
            data9   <= mh6(i_data9) ;
            data10  <= mh6(i_data10);
            data11  <= mh2(i_data11);
            data12  <= i_data12     ;
            data13  <= mh6(i_data13);
            data14  <= mh7(i_data14);
            data15  <= mh2(i_data15);
            data16  <= mh7(i_data16);
            data17  <= mh2(i_data17);
            data18  <= mh4(i_data18);
            data19  <= mh4(i_data19);
            data20  <= mh7(i_data20);
            data21  <= mh3(i_data21);
            data22  <= mh3(i_data22);
            data23  <= mh7(i_data23);
            data24  <= mh7(i_data24);
            data25  <= mh6(i_data25);
            data26  <= mh4(i_data26);
            data27  <= i_data27     ;
            data28  <= mh7(i_data28);
            data29  <= mh4(i_data29);
            data30  <= mh4(i_data30);
            data31  <= mh2(i_data31);
          end
    7'd38:begin
            data0   <= mh4(i_data0) ;
            data1   <= i_data1      ;
            data2   <= mh4(i_data2) ;
            data3   <= mh6(i_data3) ;
            data4   <= mh4(i_data4) ;
            data5   <= mh6(i_data5) ;
            data6   <= mh2(i_data6) ;
            data7   <= mh5(i_data7) ;
            data8   <= mh6(i_data8) ;
            data9   <= mh5(i_data9) ;
            data10  <= i_data10     ;
            data11  <= mh3(i_data11);
            data12  <= mh3(i_data12);
            data13  <= i_data13     ;
            data14  <= mh2(i_data14);
            data15  <= mh4(i_data15);
            data16  <= i_data16     ;
            data17  <= mh7(i_data17);
            data18  <= mh6(i_data18);
            data19  <= mh2(i_data19);
            data20  <= i_data20     ;
            data21  <= mh4(i_data21);
            data22  <= mh4(i_data22);
            data23  <= mh2(i_data23);
            data24  <= mh7(i_data24);
            data25  <= mh6(i_data25);
            data26  <= i_data26     ;
            data27  <= mh3(i_data27);
            data28  <= i_data28     ;
            data29  <= mh3(i_data29);
            data30  <= mh4(i_data30);
            data31  <= mh6(i_data31);
          end
    7'd39:begin
            data0   <= mh5(i_data0) ;
            data1   <= mh7(i_data1) ;
            data2   <= mh3(i_data2) ;
            data3   <= mh2(i_data3) ;
            data4   <= mh6(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh2(i_data6) ;
            data7   <= mh6(i_data7) ;
            data8   <= mh2(i_data8) ;
            data9   <= mh4(i_data9) ;
            data10  <= mh6(i_data10);
            data11  <= mh2(i_data11);
            data12  <= i_data12     ;
            data13  <= mh3(i_data13);
            data14  <= mh4(i_data14);
            data15  <= mh5(i_data15);
            data16  <= mh3(i_data16);
            data17  <= mh2(i_data17);
            data18  <= i_data18     ;
            data19  <= mh3(i_data19);
            data20  <= mh7(i_data20);
            data21  <= mh2(i_data21);
            data22  <= mh6(i_data22);
            data23  <= mh2(i_data23);
            data24  <= mh7(i_data24);
            data25  <= mh7(i_data25);
            data26  <= mh2(i_data26);
            data27  <= mh4(i_data27);
            data28  <= mh7(i_data28);
            data29  <= mh4(i_data29);
            data30  <= i_data30     ;
            data31  <= mh7(i_data31);
          end
    7'd40:begin
            data0   <= mh2(i_data0) ;
            data1   <= mh6(i_data1) ;
            data2   <= i_data2      ;
            data3   <= mh7(i_data3) ;
            data4   <= mh7(i_data4) ;
            data5   <= mh5(i_data5) ;
            data6   <= i_data6      ;
            data7   <= mh6(i_data7) ;
            data8   <= mh2(i_data8) ;
            data9   <= mh6(i_data9) ;
            data10  <= mh5(i_data10);
            data11  <= mh3(i_data11);
            data12  <= mh4(i_data12);
            data13  <= mh7(i_data13);
            data14  <= mh5(i_data14);
            data15  <= i_data15     ;
            data16  <= mh2(i_data16);
            data17  <= mh7(i_data17);
            data18  <= mh4(i_data18);
            data19  <= mh2(i_data19);
            data20  <= mh3(i_data20);
            data21  <= mh4(i_data21);
            data22  <= i_data22     ;
            data23  <= mh3(i_data23);
            data24  <= mh7(i_data24);
            data25  <= mh6(i_data25);
            data26  <= i_data26     ;
            data27  <= mh5(i_data27);
            data28  <= i_data28     ;
            data29  <= mh3(i_data29);
            data30  <= mh4(i_data30);
            data31  <= mh7(i_data31);
          end
    7'd41:begin
            data0   <= mh7(i_data0) ;
            data1   <= mh3(i_data1) ;
            data2   <= i_data2      ;
            data3   <= mh5(i_data3) ;
            data4   <= mh2(i_data4) ;
            data5   <= i_data5      ;
            data6   <= i_data6      ;
            data7   <= mh5(i_data7) ;
            data8   <= mh3(i_data8) ;
            data9   <= mh5(i_data9) ;
            data10  <= i_data10     ;
            data11  <= mh6(i_data11);
            data12  <= mh3(i_data12);
            data13  <= i_data13     ;
            data14  <= mh3(i_data14);
            data15  <= mh7(i_data15);
            data16  <= mh6(i_data16);
            data17  <= mh6(i_data17);
            data18  <= mh5(i_data18);
            data19  <= i_data19     ;
            data20  <= i_data20     ;
            data21  <= mh3(i_data21);
            data22  <= mh5(i_data22);
            data23  <= mh6(i_data23);
            data24  <= mh2(i_data24);
            data25  <= mh2(i_data25);
            data26  <= mh6(i_data26);
            data27  <= mh7(i_data27);
            data28  <= mh3(i_data28);
            data29  <= mh6(i_data29);
            data30  <= mh3(i_data30);
            data31  <= mh7(i_data31);
          end
    7'd42:begin
            data0   <= mh4(i_data0) ;
            data1   <= i_data1      ;
            data2   <= mh5(i_data2) ;
            data3   <= mh2(i_data3) ;
            data4   <= mh6(i_data4) ;
            data5   <= mh6(i_data5) ;
            data6   <= i_data6      ;
            data7   <= mh5(i_data7) ;
            data8   <= mh6(i_data8) ;
            data9   <= i_data9      ;
            data10  <= mh4(i_data10);
            data11  <= mh7(i_data11);
            data12  <= mh4(i_data12);
            data13  <= mh3(i_data13);
            data14  <= i_data14     ;
            data15  <= mh7(i_data15);
            data16  <= mh6(i_data16);
            data17  <= mh4(i_data17);
            data18  <= mh4(i_data18);
            data19  <= i_data19     ;
            data20  <= i_data20     ;
            data21  <= mh3(i_data21);
            data22  <= mh2(i_data22);
            data23  <= i_data23     ;
            data24  <= mh2(i_data24);
            data25  <= i_data25     ;
            data26  <= i_data26     ;
            data27  <= mh2(i_data27);
            data28  <= i_data28     ;
            data29  <= mh4(i_data29);
            data30  <= mh7(i_data30);
            data31  <= i_data31     ;
          end
    7'd43:begin
            data0   <= mh3(i_data0) ;
            data1   <= mh5(i_data1) ;
            data2   <= mh3(i_data2) ;
            data3   <= mh3(i_data3) ;
            data4   <= i_data4      ;
            data5   <= mh4(i_data5) ;
            data6   <= mh4(i_data6) ;
            data7   <= mh2(i_data7) ;
            data8   <= mh2(i_data8) ;
            data9   <= mh5(i_data9) ;
            data10  <= mh5(i_data10);
            data11  <= i_data11     ;
            data12  <= mh7(i_data12);
            data13  <= mh7(i_data13);
            data14  <= i_data14     ;
            data15  <= mh2(i_data15);
            data16  <= i_data16     ;
            data17  <= mh6(i_data17);
            data18  <= mh5(i_data18);
            data19  <= mh3(i_data19);
            data20  <= i_data20     ;
            data21  <= mh3(i_data21);
            data22  <= mh6(i_data22);
            data23  <= mh3(i_data23);
            data24  <= mh3(i_data24);
            data25  <= mh5(i_data25);
            data26  <= mh6(i_data26);
            data27  <= mh3(i_data27);
            data28  <= mh6(i_data28);
            data29  <= i_data29     ;
            data30  <= i_data30     ;
            data31  <= mh3(i_data31);
          end
    7'd44:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh2(i_data1) ;
            data2   <= mh3(i_data2) ;
            data3   <= mh6(i_data3) ;
            data4   <= mh4(i_data4) ;
            data5   <= mh6(i_data5) ;
            data6   <= mh7(i_data6) ;
            data7   <= mh4(i_data7) ;
            data8   <= i_data8      ;
            data9   <= i_data9      ;
            data10  <= i_data10     ;
            data11  <= mh5(i_data11);
            data12  <= mh7(i_data12);
            data13  <= i_data13     ;
            data14  <= mh4(i_data14);
            data15  <= mh4(i_data15);
            data16  <= i_data16     ;
            data17  <= mh3(i_data17);
            data18  <= mh4(i_data18);
            data19  <= mh7(i_data19);
            data20  <= mh2(i_data20);
            data21  <= mh2(i_data21);
            data22  <= mh6(i_data22);
            data23  <= i_data23     ;
            data24  <= mh3(i_data24);
            data25  <= mh2(i_data25);
            data26  <= mh5(i_data26);
            data27  <= mh5(i_data27);
            data28  <= mh4(i_data28);
            data29  <= mh2(i_data29);
            data30  <= mh2(i_data30);
            data31  <= mh7(i_data31);
          end
    7'd45:begin
            data0   <= i_data0      ;
            data1   <= mh7(i_data1) ;
            data2   <= mh5(i_data2) ;
            data3   <= i_data3      ;
            data4   <= mh6(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh5(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= mh5(i_data8) ;
            data9   <= mh5(i_data9) ;
            data10  <= mh2(i_data10);
            data11  <= i_data11     ;
            data12  <= mh3(i_data12);
            data13  <= mh5(i_data13);
            data14  <= mh4(i_data14);
            data15  <= mh4(i_data15);
            data16  <= mh7(i_data16);
            data17  <= mh3(i_data17);
            data18  <= mh2(i_data18);
            data19  <= mh3(i_data19);
            data20  <= mh6(i_data20);
            data21  <= i_data21     ;
            data22  <= mh3(i_data22);
            data23  <= mh6(i_data23);
            data24  <= mh3(i_data24);
            data25  <= mh3(i_data25);
            data26  <= i_data26     ;
            data27  <= mh7(i_data27);
            data28  <= mh3(i_data28);
            data29  <= mh2(i_data29);
            data30  <= mh3(i_data30);
            data31  <= mh7(i_data31);
          end
    7'd46:begin
            data0   <= mh4(i_data0) ;
            data1   <= mh5(i_data1) ;
            data2   <= mh6(i_data2) ;
            data3   <= i_data3      ;
            data4   <= mh3(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh3(i_data6) ;
            data7   <= mh5(i_data7) ;
            data8   <= mh5(i_data8) ;
            data9   <= mh3(i_data9) ;
            data10  <= i_data10     ;
            data11  <= mh3(i_data11);
            data12  <= mh6(i_data12);
            data13  <= mh7(i_data13);
            data14  <= mh5(i_data14);
            data15  <= mh4(i_data15);
            data16  <= i_data16     ;
            data17  <= mh5(i_data17);
            data18  <= mh6(i_data18);
            data19  <= mh2(i_data19);
            data20  <= i_data20     ;
            data21  <= mh5(i_data21);
            data22  <= mh6(i_data22);
            data23  <= mh7(i_data23);
            data24  <= i_data24     ;
            data25  <= i_data25     ;
            data26  <= mh5(i_data26);
            data27  <= i_data27     ;
            data28  <= mh7(i_data28);
            data29  <= mh4(i_data29);
            data30  <= mh3(i_data30);
            data31  <= mh2(i_data31);
          end
    7'd47:begin
            data0   <= i_data0      ;
            data1   <= mh4(i_data1) ;
            data2   <= mh3(i_data2) ;
            data3   <= mh6(i_data3) ;
            data4   <= mh5(i_data4) ;
            data5   <= mh3(i_data5) ;
            data6   <= i_data6      ;
            data7   <= mh4(i_data7) ;
            data8   <= mh5(i_data8) ;
            data9   <= mh5(i_data9) ;
            data10  <= mh4(i_data10);
            data11  <= mh4(i_data11);
            data12  <= mh4(i_data12);
            data13  <= mh2(i_data13);
            data14  <= mh4(i_data14);
            data15  <= mh7(i_data15);
            data16  <= mh5(i_data16);
            data17  <= mh3(i_data17);
            data18  <= mh4(i_data18);
            data19  <= mh6(i_data19);
            data20  <= mh2(i_data20);
            data21  <= mh3(i_data21);
            data22  <= mh5(i_data22);
            data23  <= mh2(i_data23);
            data24  <= i_data24     ;
            data25  <= mh5(i_data25);
            data26  <= mh2(i_data26);
            data27  <= mh3(i_data27);
            data28  <= i_data28     ;
            data29  <= mh7(i_data29);
            data30  <= mh5(i_data30);
            data31  <= mh3(i_data31);
          end
    7'd48:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh4(i_data1) ;
            data2   <= mh6(i_data2) ;
            data3   <= mh7(i_data3) ;
            data4   <= mh7(i_data4) ;
            data5   <= mh4(i_data5) ;
            data6   <= i_data6      ;
            data7   <= mh3(i_data7) ;
            data8   <= mh2(i_data8) ;
            data9   <= i_data9      ;
            data10  <= mh3(i_data10);
            data11  <= mh7(i_data11);
            data12  <= i_data12     ;
            data13  <= mh3(i_data13);
            data14  <= mh6(i_data14);
            data15  <= mh7(i_data15);
            data16  <= mh6(i_data16);
            data17  <= i_data17     ;
            data18  <= mh6(i_data18);
            data19  <= mh6(i_data19);
            data20  <= mh2(i_data20);
            data21  <= mh4(i_data21);
            data22  <= mh4(i_data22);
            data23  <= mh3(i_data23);
            data24  <= mh5(i_data24);
            data25  <= mh6(i_data25);
            data26  <= mh6(i_data26);
            data27  <= mh7(i_data27);
            data28  <= i_data28     ;
            data29  <= mh5(i_data29);
            data30  <= i_data30     ;
            data31  <= i_data31     ;
          end
    7'd49:begin
            data0   <= i_data0      ;
            data1   <= mh3(i_data1) ;
            data2   <= mh5(i_data2) ;
            data3   <= i_data3      ;
            data4   <= mh7(i_data4) ;
            data5   <= mh7(i_data5) ;
            data6   <= mh4(i_data6) ;
            data7   <= mh3(i_data7) ;
            data8   <= mh2(i_data8) ;
            data9   <= mh6(i_data9) ;
            data10  <= i_data10     ;
            data11  <= mh7(i_data11);
            data12  <= i_data12     ;
            data13  <= mh5(i_data13);
            data14  <= mh2(i_data14);
            data15  <= mh2(i_data15);
            data16  <= mh7(i_data16);
            data17  <= mh4(i_data17);
            data18  <= i_data18     ;
            data19  <= i_data19     ;
            data20  <= mh6(i_data20);
            data21  <= mh4(i_data21);
            data22  <= i_data22     ;
            data23  <= i_data23     ;
            data24  <= mh5(i_data24);
            data25  <= mh4(i_data25);
            data26  <= mh7(i_data26);
            data27  <= mh6(i_data27);
            data28  <= mh4(i_data28);
            data29  <= mh7(i_data29);
            data30  <= mh7(i_data30);
            data31  <= mh6(i_data31);
          end
    7'd50:begin
            data0   <= mh4(i_data0) ;
            data1   <= mh4(i_data1) ;
            data2   <= mh3(i_data2) ;
            data3   <= i_data3      ;
            data4   <= mh3(i_data4) ;
            data5   <= mh6(i_data5) ;
            data6   <= mh2(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= mh4(i_data8) ;
            data9   <= mh2(i_data9) ;
            data10  <= mh4(i_data10);
            data11  <= mh3(i_data11);
            data12  <= mh6(i_data12);
            data13  <= mh4(i_data13);
            data14  <= mh5(i_data14);
            data15  <= mh6(i_data15);
            data16  <= mh2(i_data16);
            data17  <= i_data17     ;
            data18  <= i_data18     ;
            data19  <= mh7(i_data19);
            data20  <= mh7(i_data20);
            data21  <= mh4(i_data21);
            data22  <= mh5(i_data22);
            data23  <= mh7(i_data23);
            data24  <= mh4(i_data24);
            data25  <= mh2(i_data25);
            data26  <= mh5(i_data26);
            data27  <= mh4(i_data27);
            data28  <= mh5(i_data28);
            data29  <= mh7(i_data29);
            data30  <= mh4(i_data30);
            data31  <= mh3(i_data31);
          end
    7'd51:begin
            data0   <= mh7(i_data0) ;
            data1   <= i_data1      ;
            data2   <= mh7(i_data2) ;
            data3   <= mh4(i_data3) ;
            data4   <= mh5(i_data4) ;
            data5   <= mh7(i_data5) ;
            data6   <= mh2(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= mh3(i_data8) ;
            data9   <= i_data9      ;
            data10  <= mh3(i_data10);
            data11  <= mh4(i_data11);
            data12  <= mh7(i_data12);
            data13  <= mh3(i_data13);
            data14  <= mh6(i_data14);
            data15  <= mh7(i_data15);
            data16  <= mh2(i_data16);
            data17  <= i_data17     ;
            data18  <= i_data18     ;
            data19  <= mh3(i_data19);
            data20  <= mh4(i_data20);
            data21  <= mh2(i_data21);
            data22  <= mh6(i_data22);
            data23  <= mh3(i_data23);
            data24  <= mh5(i_data24);
            data25  <= mh2(i_data25);
            data26  <= i_data26     ;
            data27  <= mh4(i_data27);
            data28  <= mh7(i_data28);
            data29  <= mh7(i_data29);
            data30  <= i_data30     ;
            data31  <= mh4(i_data31);
          end
    7'd52:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh5(i_data1) ;
            data2   <= i_data2      ;
            data3   <= mh3(i_data3) ;
            data4   <= mh4(i_data4) ;
            data5   <= mh4(i_data5) ;
            data6   <= mh4(i_data6) ;
            data7   <= mh6(i_data7) ;
            data8   <= i_data8      ;
            data9   <= mh3(i_data9) ;
            data10  <= mh3(i_data10);
            data11  <= i_data11     ;
            data12  <= i_data12     ;
            data13  <= mh4(i_data13);
            data14  <= i_data14     ;
            data15  <= mh2(i_data15);
            data16  <= mh2(i_data16);
            data17  <= mh4(i_data17);
            data18  <= mh5(i_data18);
            data19  <= mh6(i_data19);
            data20  <= mh5(i_data20);
            data21  <= mh6(i_data21);
            data22  <= mh5(i_data22);
            data23  <= mh2(i_data23);
            data24  <= mh6(i_data24);
            data25  <= mh3(i_data25);
            data26  <= mh2(i_data26);
            data27  <= i_data27     ;
            data28  <= mh6(i_data28);
            data29  <= mh4(i_data29);
            data30  <= i_data30     ;
            data31  <= i_data31     ;
          end
    7'd53:begin
            data0   <= mh2(i_data0) ;
            data1   <= mh6(i_data1) ;
            data2   <= mh7(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= mh3(i_data4) ;
            data5   <= i_data5      ;
            data6   <= i_data6      ;
            data7   <= mh6(i_data7) ;
            data8   <= mh7(i_data8) ;
            data9   <= mh5(i_data9) ;
            data10  <= i_data10     ;
            data11  <= i_data11     ;
            data12  <= mh6(i_data12);
            data13  <= i_data13     ;
            data14  <= mh5(i_data14);
            data15  <= mh3(i_data15);
            data16  <= mh5(i_data16);
            data17  <= mh7(i_data17);
            data18  <= mh3(i_data18);
            data19  <= mh5(i_data19);
            data20  <= mh3(i_data20);
            data21  <= mh7(i_data21);
            data22  <= mh7(i_data22);
            data23  <= mh5(i_data23);
            data24  <= mh3(i_data24);
            data25  <= mh3(i_data25);
            data26  <= mh3(i_data26);
            data27  <= mh2(i_data27);
            data28  <= mh4(i_data28);
            data29  <= i_data29     ;
            data30  <= i_data30     ;
            data31  <= mh3(i_data31);
          end
    7'd54:begin
            data0   <= mh7(i_data0) ;
            data1   <= mh7(i_data1) ;
            data2   <= mh7(i_data2) ;
            data3   <= mh3(i_data3) ;
            data4   <= mh3(i_data4) ;
            data5   <= mh7(i_data5) ;
            data6   <= mh4(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= mh5(i_data8) ;
            data9   <= mh3(i_data9) ;
            data10  <= i_data10     ;
            data11  <= mh7(i_data11);
            data12  <= mh3(i_data12);
            data13  <= mh3(i_data13);
            data14  <= mh5(i_data14);
            data15  <= mh5(i_data15);
            data16  <= mh2(i_data16);
            data17  <= i_data17     ;
            data18  <= mh5(i_data18);
            data19  <= i_data19     ;
            data20  <= mh2(i_data20);
            data21  <= mh6(i_data21);
            data22  <= mh3(i_data22);
            data23  <= i_data23     ;
            data24  <= mh5(i_data24);
            data25  <= mh2(i_data25);
            data26  <= mh3(i_data26);
            data27  <= mh7(i_data27);
            data28  <= mh4(i_data28);
            data29  <= mh6(i_data29);
            data30  <= mh7(i_data30);
            data31  <= mh6(i_data31);
          end
    7'd55:begin
            data0   <= i_data0      ;
            data1   <= mh6(i_data1) ;
            data2   <= mh3(i_data2) ;
            data3   <= mh4(i_data3) ;
            data4   <= mh2(i_data4) ;
            data5   <= mh3(i_data5) ;
            data6   <= mh7(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= mh6(i_data8) ;
            data9   <= mh6(i_data9) ;
            data10  <= i_data10     ;
            data11  <= mh2(i_data11);
            data12  <= mh3(i_data12);
            data13  <= mh7(i_data13);
            data14  <= mh6(i_data14);
            data15  <= i_data15     ;
            data16  <= mh5(i_data16);
            data17  <= mh5(i_data17);
            data18  <= mh7(i_data18);
            data19  <= mh2(i_data19);
            data20  <= mh5(i_data20);
            data21  <= mh5(i_data21);
            data22  <= mh3(i_data22);
            data23  <= mh6(i_data23);
            data24  <= mh5(i_data24);
            data25  <= mh3(i_data25);
            data26  <= i_data26     ;
            data27  <= mh3(i_data27);
            data28  <= i_data28     ;
            data29  <= mh6(i_data29);
            data30  <= mh2(i_data30);
            data31  <= mh7(i_data31);
          end
    7'd56:begin
            data0   <= mh3(i_data0) ;
            data1   <= mh2(i_data1) ;
            data2   <= mh3(i_data2) ;
            data3   <= mh7(i_data3) ;
            data4   <= mh7(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh4(i_data6) ;
            data7   <= mh3(i_data7) ;
            data8   <= mh7(i_data8) ;
            data9   <= mh6(i_data9) ;
            data10  <= i_data10     ;
            data11  <= mh2(i_data11);
            data12  <= mh7(i_data12);
            data13  <= mh3(i_data13);
            data14  <= mh4(i_data14);
            data15  <= mh3(i_data15);
            data16  <= i_data16     ;
            data17  <= i_data17     ;
            data18  <= mh5(i_data18);
            data19  <= mh5(i_data19);
            data20  <= i_data20     ;
            data21  <= mh3(i_data21);
            data22  <= mh7(i_data22);
            data23  <= mh4(i_data23);
            data24  <= mh7(i_data24);
            data25  <= mh2(i_data25);
            data26  <= i_data26     ;
            data27  <= mh2(i_data27);
            data28  <= mh5(i_data28);
            data29  <= mh6(i_data29);
            data30  <= mh2(i_data30);
            data31  <= mh5(i_data31);
          end
    7'd57:begin
            data0   <= mh2(i_data0) ;
            data1   <= mh3(i_data1) ;
            data2   <= mh3(i_data2) ;
            data3   <= i_data3      ;
            data4   <= mh6(i_data4) ;
            data5   <= mh2(i_data5) ;
            data6   <= mh3(i_data6) ;
            data7   <= i_data7      ;
            data8   <= mh4(i_data8) ;
            data9   <= mh4(i_data9) ;
            data10  <= mh5(i_data10);
            data11  <= mh2(i_data11);
            data12  <= mh2(i_data12);
            data13  <= mh6(i_data13);
            data14  <= i_data14     ;
            data15  <= i_data15     ;
            data16  <= mh6(i_data16);
            data17  <= i_data17     ;
            data18  <= mh7(i_data18);
            data19  <= mh7(i_data19);
            data20  <= mh2(i_data20);
            data21  <= mh4(i_data21);
            data22  <= mh7(i_data22);
            data23  <= mh4(i_data23);
            data24  <= mh5(i_data24);
            data25  <= mh5(i_data25);
            data26  <= mh4(i_data26);
            data27  <= mh3(i_data27);
            data28  <= mh7(i_data28);
            data29  <= mh2(i_data29);
            data30  <= mh6(i_data30);
            data31  <= mh3(i_data31);
          end
    7'd58:begin
            data0   <= mh5(i_data0) ;
            data1   <= i_data1      ;
            data2   <= mh4(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= i_data4      ;
            data5   <= mh7(i_data5) ;
            data6   <= mh6(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= mh2(i_data8) ;
            data9   <= mh7(i_data9) ;
            data10  <= mh6(i_data10);
            data11  <= mh7(i_data11);
            data12  <= mh7(i_data12);
            data13  <= mh6(i_data13);
            data14  <= mh4(i_data14);
            data15  <= mh4(i_data15);
            data16  <= mh4(i_data16);
            data17  <= mh4(i_data17);
            data18  <= mh5(i_data18);
            data19  <= mh2(i_data19);
            data20  <= i_data20     ;
            data21  <= mh2(i_data21);
            data22  <= mh3(i_data22);
            data23  <= mh5(i_data23);
            data24  <= mh5(i_data24);
            data25  <= mh7(i_data25);
            data26  <= mh5(i_data26);
            data27  <= mh3(i_data27);
            data28  <= mh2(i_data28);
            data29  <= i_data29     ;
            data30  <= mh5(i_data30);
            data31  <= i_data31     ;
          end
    7'd59:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh6(i_data1) ;
            data2   <= i_data2      ;
            data3   <= mh4(i_data3) ;
            data4   <= mh7(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh2(i_data6) ;
            data7   <= mh5(i_data7) ;
            data8   <= i_data8      ;
            data9   <= mh3(i_data9) ;
            data10  <= i_data10     ;
            data11  <= mh5(i_data11);
            data12  <= i_data12     ;
            data13  <= mh4(i_data13);
            data14  <= mh7(i_data14);
            data15  <= mh3(i_data15);
            data16  <= mh6(i_data16);
            data17  <= mh6(i_data17);
            data18  <= mh7(i_data18);
            data19  <= mh4(i_data19);
            data20  <= i_data20     ;
            data21  <= mh5(i_data21);
            data22  <= mh2(i_data22);
            data23  <= mh5(i_data23);
            data24  <= i_data24     ;
            data25  <= mh2(i_data25);
            data26  <= mh2(i_data26);
            data27  <= mh2(i_data27);
            data28  <= mh5(i_data28);
            data29  <= mh6(i_data29);
            data30  <= mh5(i_data30);
            data31  <= mh3(i_data31);
          end
    7'd60:begin
            data0   <= i_data0      ;
            data1   <= mh5(i_data1) ;
            data2   <= mh4(i_data2) ;
            data3   <= mh2(i_data3) ;
            data4   <= mh5(i_data4) ;
            data5   <= mh6(i_data5) ;
            data6   <= mh2(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= i_data8      ;
            data9   <= mh2(i_data9) ;
            data10  <= mh2(i_data10);
            data11  <= mh2(i_data11);
            data12  <= mh5(i_data12);
            data13  <= mh5(i_data13);
            data14  <= mh3(i_data14);
            data15  <= mh4(i_data15);
            data16  <= mh5(i_data16);
            data17  <= mh4(i_data17);
            data18  <= mh2(i_data18);
            data19  <= i_data19     ;
            data20  <= mh3(i_data20);
            data21  <= mh5(i_data21);
            data22  <= i_data22     ;
            data23  <= mh5(i_data23);
            data24  <= mh6(i_data24);
            data25  <= mh4(i_data25);
            data26  <= mh7(i_data26);
            data27  <= mh7(i_data27);
            data28  <= i_data28     ;
            data29  <= mh3(i_data29);
            data30  <= i_data30     ;
            data31  <= mh7(i_data31);
          end
    7'd61:begin
            data0   <= mh5(i_data0) ;
            data1   <= mh3(i_data1) ;
            data2   <= mh3(i_data2) ;
            data3   <= i_data3      ;
            data4   <= mh4(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh2(i_data6) ;
            data7   <= mh6(i_data7) ;
            data8   <= mh7(i_data8) ;
            data9   <= i_data9      ;
            data10  <= mh3(i_data10);
            data11  <= mh6(i_data11);
            data12  <= mh6(i_data12);
            data13  <= mh6(i_data13);
            data14  <= i_data14     ;
            data15  <= i_data15     ;
            data16  <= i_data16     ;
            data17  <= mh4(i_data17);
            data18  <= mh6(i_data18);
            data19  <= mh6(i_data19);
            data20  <= mh7(i_data20);
            data21  <= mh5(i_data21);
            data22  <= mh7(i_data22);
            data23  <= mh2(i_data23);
            data24  <= i_data24     ;
            data25  <= mh5(i_data25);
            data26  <= mh5(i_data26);
            data27  <= mh5(i_data27);
            data28  <= i_data28     ;
            data29  <= mh5(i_data29);
            data30  <= i_data30     ;
            data31  <= mh5(i_data31);
          end
    7'd62:begin
            data0   <= mh5(i_data0) ;
            data1   <= mh7(i_data1) ;
            data2   <= mh6(i_data2) ;
            data3   <= mh4(i_data3) ;
            data4   <= mh6(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh5(i_data6) ;
            data7   <= mh4(i_data7) ;
            data8   <= mh4(i_data8) ;
            data9   <= mh3(i_data9) ;
            data10  <= mh5(i_data10);
            data11  <= mh3(i_data11);
            data12  <= mh5(i_data12);
            data13  <= mh2(i_data13);
            data14  <= mh5(i_data14);
            data15  <= mh7(i_data15);
            data16  <= i_data16     ;
            data17  <= mh6(i_data17);
            data18  <= mh6(i_data18);
            data19  <= mh5(i_data19);
            data20  <= mh6(i_data20);
            data21  <= i_data21     ;
            data22  <= i_data22     ;
            data23  <= mh6(i_data23);
            data24  <= i_data24     ;
            data25  <= mh6(i_data25);
            data26  <= mh2(i_data26);
            data27  <= mh2(i_data27);
            data28  <= mh4(i_data28);
            data29  <= mh6(i_data29);
            data30  <= mh4(i_data30);
            data31  <= i_data31     ;
          end
    7'd63:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh7(i_data1) ;
            data2   <= mh7(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= mh6(i_data4) ;
            data5   <= mh4(i_data5) ;
            data6   <= i_data6      ;
            data7   <= mh6(i_data7) ;
            data8   <= mh5(i_data8) ;
            data9   <= mh3(i_data9) ;
            data10  <= mh5(i_data10);
            data11  <= mh3(i_data11);
            data12  <= i_data12     ;
            data13  <= mh6(i_data13);
            data14  <= mh7(i_data14);
            data15  <= mh6(i_data15);
            data16  <= mh7(i_data16);
            data17  <= mh4(i_data17);
            data18  <= i_data18     ;
            data19  <= mh3(i_data19);
            data20  <= mh6(i_data20);
            data21  <= mh5(i_data21);
            data22  <= mh5(i_data22);
            data23  <= mh3(i_data23);
            data24  <= mh6(i_data24);
            data25  <= mh6(i_data25);
            data26  <= mh6(i_data26);
            data27  <= mh5(i_data27);
            data28  <= mh5(i_data28);
            data29  <= i_data29     ;
            data30  <= mh3(i_data30);
            data31  <= mh5(i_data31);
          end
    7'd64:begin
            data0   <= mh4(i_data0) ;
            data1   <= mh3(i_data1) ;
            data2   <= mh7(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= mh3(i_data4) ;
            data5   <= mh6(i_data5) ;
            data6   <= mh6(i_data6) ;
            data7   <= mh3(i_data7) ;
            data8   <= mh2(i_data8) ;
            data9   <= mh5(i_data9) ;
            data10  <= mh7(i_data10);
            data11  <= mh7(i_data11);
            data12  <= mh7(i_data12);
            data13  <= mh4(i_data13);
            data14  <= mh2(i_data14);
            data15  <= i_data15     ;
            data16  <= mh2(i_data16);
            data17  <= mh7(i_data17);
            data18  <= mh6(i_data18);
            data19  <= mh3(i_data19);
            data20  <= mh4(i_data20);
            data21  <= mh7(i_data21);
            data22  <= i_data22     ;
            data23  <= mh6(i_data23);
            data24  <= mh7(i_data24);
            data25  <= i_data25     ;
            data26  <= i_data26     ;
            data27  <= mh4(i_data27);
            data28  <= mh7(i_data28);
            data29  <= mh5(i_data29);
            data30  <= i_data30     ;
            data31  <= i_data31     ;
          end
    7'd65:begin
            data0   <= mh2(i_data0) ;
            data1   <= mh7(i_data1) ;
            data2   <= mh7(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= mh5(i_data4) ;
            data5   <= mh6(i_data5) ;
            data6   <= i_data6      ;
            data7   <= mh5(i_data7) ;
            data8   <= i_data8      ;
            data9   <= mh3(i_data9) ;
            data10  <= mh3(i_data10);
            data11  <= mh5(i_data11);
            data12  <= mh2(i_data12);
            data13  <= mh3(i_data13);
            data14  <= mh4(i_data14);
            data15  <= mh4(i_data15);
            data16  <= i_data16     ;
            data17  <= mh4(i_data17);
            data18  <= mh7(i_data18);
            data19  <= mh6(i_data19);
            data20  <= mh3(i_data20);
            data21  <= mh2(i_data21);
            data22  <= mh5(i_data22);
            data23  <= mh5(i_data23);
            data24  <= mh6(i_data24);
            data25  <= mh5(i_data25);
            data26  <= mh2(i_data26);
            data27  <= mh4(i_data27);
            data28  <= mh5(i_data28);
            data29  <= i_data29     ;
            data30  <= mh4(i_data30);
            data31  <= mh6(i_data31);
          end
    7'd66:begin
            data0   <= mh5(i_data0) ;
            data1   <= mh2(i_data1) ;
            data2   <= mh5(i_data2) ;
            data3   <= mh3(i_data3) ;
            data4   <= mh5(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh3(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= i_data8      ;
            data9   <= mh7(i_data9) ;
            data10  <= i_data10     ;
            data11  <= i_data11     ;
            data12  <= mh7(i_data12);
            data13  <= i_data13     ;
            data14  <= mh6(i_data14);
            data15  <= i_data15     ;
            data16  <= mh4(i_data16);
            data17  <= mh6(i_data17);
            data18  <= mh6(i_data18);
            data19  <= mh2(i_data19);
            data20  <= mh5(i_data20);
            data21  <= i_data21     ;
            data22  <= i_data22     ;
            data23  <= mh3(i_data23);
            data24  <= mh7(i_data24);
            data25  <= mh2(i_data25);
            data26  <= mh7(i_data26);
            data27  <= mh5(i_data27);
            data28  <= mh6(i_data28);
            data29  <= mh4(i_data29);
            data30  <= mh2(i_data30);
            data31  <= mh5(i_data31);
          end
    7'd67:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh4(i_data1) ;
            data2   <= mh5(i_data2) ;
            data3   <= mh2(i_data3) ;
            data4   <= mh5(i_data4) ;
            data5   <= mh7(i_data5) ;
            data6   <= mh3(i_data6) ;
            data7   <= i_data7      ;
            data8   <= mh4(i_data8) ;
            data9   <= mh4(i_data9) ;
            data10  <= mh6(i_data10);
            data11  <= mh4(i_data11);
            data12  <= i_data12     ;
            data13  <= mh4(i_data13);
            data14  <= mh5(i_data14);
            data15  <= mh5(i_data15);
            data16  <= i_data16     ;
            data17  <= i_data17     ;
            data18  <= mh2(i_data18);
            data19  <= i_data19     ;
            data20  <= mh5(i_data20);
            data21  <= mh6(i_data21);
            data22  <= mh7(i_data22);
            data23  <= mh5(i_data23);
            data24  <= mh3(i_data24);
            data25  <= mh4(i_data25);
            data26  <= mh2(i_data26);
            data27  <= mh4(i_data27);
            data28  <= mh3(i_data28);
            data29  <= mh3(i_data29);
            data30  <= mh7(i_data30);
            data31  <= mh3(i_data31);
          end
    7'd68:begin
            data0   <= mh7(i_data0) ;
            data1   <= mh3(i_data1) ;
            data2   <= mh6(i_data2) ;
            data3   <= mh6(i_data3) ;
            data4   <= mh5(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh3(i_data6) ;
            data7   <= mh4(i_data7) ;
            data8   <= mh4(i_data8) ;
            data9   <= i_data9      ;
            data10  <= mh7(i_data10);
            data11  <= i_data11     ;
            data12  <= i_data12     ;
            data13  <= mh7(i_data13);
            data14  <= mh7(i_data14);
            data15  <= mh6(i_data15);
            data16  <= mh2(i_data16);
            data17  <= mh4(i_data17);
            data18  <= mh6(i_data18);
            data19  <= mh4(i_data19);
            data20  <= i_data20     ;
            data21  <= i_data21     ;
            data22  <= mh5(i_data22);
            data23  <= i_data23     ;
            data24  <= mh4(i_data24);
            data25  <= mh6(i_data25);
            data26  <= mh6(i_data26);
            data27  <= mh2(i_data27);
            data28  <= mh2(i_data28);
            data29  <= i_data29     ;
            data30  <= mh6(i_data30);
            data31  <= mh4(i_data31);
          end
    7'd69:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh3(i_data1) ;
            data2   <= mh7(i_data2) ;
            data3   <= mh2(i_data3) ;
            data4   <= mh2(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh6(i_data6) ;
            data7   <= mh6(i_data7) ;
            data8   <= mh5(i_data8) ;
            data9   <= mh6(i_data9) ;
            data10  <= mh6(i_data10);
            data11  <= mh6(i_data11);
            data12  <= mh7(i_data12);
            data13  <= mh3(i_data13);
            data14  <= mh3(i_data14);
            data15  <= mh3(i_data15);
            data16  <= mh2(i_data16);
            data17  <= mh5(i_data17);
            data18  <= mh2(i_data18);
            data19  <= mh4(i_data19);
            data20  <= mh5(i_data20);
            data21  <= mh2(i_data21);
            data22  <= i_data22     ;
            data23  <= mh3(i_data23);
            data24  <= mh4(i_data24);
            data25  <= mh5(i_data25);
            data26  <= mh2(i_data26);
            data27  <= i_data27     ;
            data28  <= i_data28     ;
            data29  <= mh4(i_data29);
            data30  <= mh5(i_data30);
            data31  <= mh3(i_data31);
          end
    7'd70:begin
            data0   <= mh3(i_data0) ;
            data1   <= mh3(i_data1) ;
            data2   <= mh6(i_data2) ;
            data3   <= mh2(i_data3) ;
            data4   <= mh4(i_data4) ;
            data5   <= mh2(i_data5) ;
            data6   <= i_data6      ;
            data7   <= mh5(i_data7) ;
            data8   <= mh5(i_data8) ;
            data9   <= mh3(i_data9) ;
            data10  <= mh7(i_data10);
            data11  <= mh3(i_data11);
            data12  <= mh6(i_data12);
            data13  <= mh5(i_data13);
            data14  <= mh2(i_data14);
            data15  <= i_data15     ;
            data16  <= i_data16     ;
            data17  <= mh2(i_data17);
            data18  <= mh7(i_data18);
            data19  <= mh5(i_data19);
            data20  <= i_data20     ;
            data21  <= mh5(i_data21);
            data22  <= mh2(i_data22);
            data23  <= mh7(i_data23);
            data24  <= mh3(i_data24);
            data25  <= mh3(i_data25);
            data26  <= i_data26     ;
            data27  <= mh5(i_data27);
            data28  <= mh4(i_data28);
            data29  <= mh2(i_data29);
            data30  <= mh4(i_data30);
            data31  <= i_data31     ;
          end
    7'd71:begin
            data0   <= mh7(i_data0) ;
            data1   <= i_data1      ;
            data2   <= mh7(i_data2) ;
            data3   <= i_data3      ;
            data4   <= mh4(i_data4) ;
            data5   <= mh3(i_data5) ;
            data6   <= mh7(i_data6) ;
            data7   <= mh2(i_data7) ;
            data8   <= mh4(i_data8) ;
            data9   <= i_data9      ;
            data10  <= mh3(i_data10);
            data11  <= mh6(i_data11);
            data12  <= mh5(i_data12);
            data13  <= mh4(i_data13);
            data14  <= mh7(i_data14);
            data15  <= i_data15     ;
            data16  <= mh4(i_data16);
            data17  <= mh5(i_data17);
            data18  <= i_data18     ;
            data19  <= mh2(i_data19);
            data20  <= mh2(i_data20);
            data21  <= mh7(i_data21);
            data22  <= i_data22     ;
            data23  <= mh5(i_data23);
            data24  <= mh2(i_data24);
            data25  <= i_data25     ;
            data26  <= mh7(i_data26);
            data27  <= mh6(i_data27);
            data28  <= mh3(i_data28);
            data29  <= mh5(i_data29);
            data30  <= mh4(i_data30);
            data31  <= mh3(i_data31);
          end
    7'd72:begin
            data0   <= mh4(i_data0) ;
            data1   <= mh2(i_data1) ;
            data2   <= mh2(i_data2) ;
            data3   <= mh4(i_data3) ;
            data4   <= i_data4      ;
            data5   <= i_data5      ;
            data6   <= mh3(i_data6) ;
            data7   <= i_data7      ;
            data8   <= i_data8      ;
            data9   <= i_data9      ;
            data10  <= mh4(i_data10);
            data11  <= mh5(i_data11);
            data12  <= mh6(i_data12);
            data13  <= i_data13     ;
            data14  <= mh7(i_data14);
            data15  <= mh2(i_data15);
            data16  <= mh7(i_data16);
            data17  <= i_data17     ;
            data18  <= i_data18     ;
            data19  <= mh2(i_data19);
            data20  <= mh6(i_data20);
            data21  <= mh2(i_data21);
            data22  <= mh2(i_data22);
            data23  <= mh6(i_data23);
            data24  <= mh5(i_data24);
            data25  <= i_data25     ;
            data26  <= i_data26     ;
            data27  <= mh5(i_data27);
            data28  <= mh4(i_data28);
            data29  <= mh6(i_data29);
            data30  <= mh6(i_data30);
            data31  <= mh6(i_data31);
          end
    7'd73:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh7(i_data1) ;
            data2   <= mh6(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= mh5(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh6(i_data6) ;
            data7   <= mh2(i_data7) ;
            data8   <= mh7(i_data8) ;
            data9   <= mh2(i_data9) ;
            data10  <= i_data10     ;
            data11  <= i_data11     ;
            data12  <= mh3(i_data12);
            data13  <= mh3(i_data13);
            data14  <= i_data14     ;
            data15  <= mh7(i_data15);
            data16  <= mh6(i_data16);
            data17  <= i_data17     ;
            data18  <= mh2(i_data18);
            data19  <= mh4(i_data19);
            data20  <= mh3(i_data20);
            data21  <= mh4(i_data21);
            data22  <= mh5(i_data22);
            data23  <= mh4(i_data23);
            data24  <= mh6(i_data24);
            data25  <= mh3(i_data25);
            data26  <= mh6(i_data26);
            data27  <= mh7(i_data27);
            data28  <= i_data28     ;
            data29  <= mh5(i_data29);
            data30  <= mh4(i_data30);
            data31  <= mh4(i_data31);
          end
    7'd74:begin
            data0   <= mh3(i_data0) ;
            data1   <= mh3(i_data1) ;
            data2   <= mh6(i_data2) ;
            data3   <= mh7(i_data3) ;
            data4   <= mh2(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh2(i_data6) ;
            data7   <= mh2(i_data7) ;
            data8   <= mh4(i_data8) ;
            data9   <= mh3(i_data9) ;
            data10  <= mh5(i_data10);
            data11  <= mh6(i_data11);
            data12  <= mh6(i_data12);
            data13  <= mh4(i_data13);
            data14  <= mh7(i_data14);
            data15  <= i_data15     ;
            data16  <= mh4(i_data16);
            data17  <= mh5(i_data17);
            data18  <= mh6(i_data18);
            data19  <= mh6(i_data19);
            data20  <= mh5(i_data20);
            data21  <= mh6(i_data21);
            data22  <= i_data22     ;
            data23  <= i_data23     ;
            data24  <= mh2(i_data24);
            data25  <= i_data25     ;
            data26  <= mh4(i_data26);
            data27  <= mh6(i_data27);
            data28  <= mh4(i_data28);
            data29  <= mh2(i_data29);
            data30  <= mh4(i_data30);
            data31  <= mh4(i_data31);
          end
    7'd75:begin
            data0   <= mh4(i_data0) ;
            data1   <= mh4(i_data1) ;
            data2   <= mh6(i_data2) ;
            data3   <= mh2(i_data3) ;
            data4   <= i_data4      ;
            data5   <= mh6(i_data5) ;
            data6   <= mh2(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= mh5(i_data8) ;
            data9   <= mh4(i_data9) ;
            data10  <= mh4(i_data10);
            data11  <= mh5(i_data11);
            data12  <= mh7(i_data12);
            data13  <= mh3(i_data13);
            data14  <= mh7(i_data14);
            data15  <= mh7(i_data15);
            data16  <= i_data16     ;
            data17  <= mh7(i_data17);
            data18  <= mh2(i_data18);
            data19  <= i_data19     ;
            data20  <= mh7(i_data20);
            data21  <= mh2(i_data21);
            data22  <= mh7(i_data22);
            data23  <= mh4(i_data23);
            data24  <= mh5(i_data24);
            data25  <= mh3(i_data25);
            data26  <= mh2(i_data26);
            data27  <= mh5(i_data27);
            data28  <= mh5(i_data28);
            data29  <= mh5(i_data29);
            data30  <= mh3(i_data30);
            data31  <= mh4(i_data31);
          end
    7'd76:begin
            data0   <= mh5(i_data0) ;
            data1   <= mh4(i_data1) ;
            data2   <= mh6(i_data2) ;
            data3   <= i_data3      ;
            data4   <= mh6(i_data4) ;
            data5   <= mh3(i_data5) ;
            data6   <= mh3(i_data6) ;
            data7   <= mh3(i_data7) ;
            data8   <= mh4(i_data8) ;
            data9   <= mh5(i_data9) ;
            data10  <= mh5(i_data10);
            data11  <= mh6(i_data11);
            data12  <= i_data12     ;
            data13  <= mh4(i_data13);
            data14  <= mh6(i_data14);
            data15  <= mh6(i_data15);
            data16  <= i_data16     ;
            data17  <= i_data17     ;
            data18  <= i_data18     ;
            data19  <= mh2(i_data19);
            data20  <= mh4(i_data20);
            data21  <= mh6(i_data21);
            data22  <= mh2(i_data22);
            data23  <= mh4(i_data23);
            data24  <= mh4(i_data24);
            data25  <= i_data25     ;
            data26  <= mh5(i_data26);
            data27  <= mh5(i_data27);
            data28  <= i_data28     ;
            data29  <= mh3(i_data29);
            data30  <= i_data30     ;
            data31  <= mh7(i_data31);
          end
    7'd77:begin
            data0   <= mh3(i_data0) ;
            data1   <= mh3(i_data1) ;
            data2   <= mh3(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= mh4(i_data4) ;
            data5   <= mh4(i_data5) ;
            data6   <= mh5(i_data6) ;
            data7   <= i_data7      ;
            data8   <= mh3(i_data8) ;
            data9   <= mh5(i_data9) ;
            data10  <= i_data10     ;
            data11  <= mh3(i_data11);
            data12  <= i_data12     ;
            data13  <= mh5(i_data13);
            data14  <= mh2(i_data14);
            data15  <= mh3(i_data15);
            data16  <= mh3(i_data16);
            data17  <= mh2(i_data17);
            data18  <= mh3(i_data18);
            data19  <= mh6(i_data19);
            data20  <= mh6(i_data20);
            data21  <= mh3(i_data21);
            data22  <= mh6(i_data22);
            data23  <= mh4(i_data23);
            data24  <= i_data24     ;
            data25  <= mh2(i_data25);
            data26  <= i_data26     ;
            data27  <= mh7(i_data27);
            data28  <= mh7(i_data28);
            data29  <= mh6(i_data29);
            data30  <= mh4(i_data30);
            data31  <= i_data31     ;
          end
    7'd78:begin
            data0   <= mh4(i_data0) ;
            data1   <= mh7(i_data1) ;
            data2   <= i_data2      ;
            data3   <= mh4(i_data3) ;
            data4   <= mh5(i_data4) ;
            data5   <= mh7(i_data5) ;
            data6   <= mh5(i_data6) ;
            data7   <= mh5(i_data7) ;
            data8   <= mh2(i_data8) ;
            data9   <= mh5(i_data9) ;
            data10  <= i_data10     ;
            data11  <= mh7(i_data11);
            data12  <= i_data12     ;
            data13  <= mh7(i_data13);
            data14  <= mh5(i_data14);
            data15  <= mh3(i_data15);
            data16  <= mh4(i_data16);
            data17  <= mh7(i_data17);
            data18  <= mh5(i_data18);
            data19  <= mh6(i_data19);
            data20  <= i_data20     ;
            data21  <= mh4(i_data21);
            data22  <= mh2(i_data22);
            data23  <= mh7(i_data23);
            data24  <= mh5(i_data24);
            data25  <= mh4(i_data25);
            data26  <= mh7(i_data26);
            data27  <= mh6(i_data27);
            data28  <= mh5(i_data28);
            data29  <= mh2(i_data29);
            data30  <= mh2(i_data30);
            data31  <= mh3(i_data31);
          end
    7'd79:begin
            data0   <= mh4(i_data0) ;
            data1   <= mh4(i_data1) ;
            data2   <= mh6(i_data2) ;
            data3   <= mh2(i_data3) ;
            data4   <= mh7(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh2(i_data6) ;
            data7   <= mh5(i_data7) ;
            data8   <= mh5(i_data8) ;
            data9   <= mh2(i_data9) ;
            data10  <= mh5(i_data10);
            data11  <= mh6(i_data11);
            data12  <= i_data12     ;
            data13  <= i_data13     ;
            data14  <= mh4(i_data14);
            data15  <= mh6(i_data15);
            data16  <= mh6(i_data16);
            data17  <= mh7(i_data17);
            data18  <= mh7(i_data18);
            data19  <= mh5(i_data19);
            data20  <= mh2(i_data20);
            data21  <= mh2(i_data21);
            data22  <= mh6(i_data22);
            data23  <= mh5(i_data23);
            data24  <= mh7(i_data24);
            data25  <= mh3(i_data25);
            data26  <= mh4(i_data26);
            data27  <= mh2(i_data27);
            data28  <= mh7(i_data28);
            data29  <= mh5(i_data29);
            data30  <= mh6(i_data30);
            data31  <= mh2(i_data31);
          end
    7'd80:begin
            data0   <= mh3(i_data0) ;
            data1   <= mh6(i_data1) ;
            data2   <= i_data2      ;
            data3   <= mh4(i_data3) ;
            data4   <= mh7(i_data4) ;
            data5   <= mh3(i_data5) ;
            data6   <= mh7(i_data6) ;
            data7   <= mh2(i_data7) ;
            data8   <= mh7(i_data8) ;
            data9   <= mh2(i_data9) ;
            data10  <= mh4(i_data10);
            data11  <= mh6(i_data11);
            data12  <= mh3(i_data12);
            data13  <= mh3(i_data13);
            data14  <= mh5(i_data14);
            data15  <= mh7(i_data15);
            data16  <= mh5(i_data16);
            data17  <= mh7(i_data17);
            data18  <= mh4(i_data18);
            data19  <= mh2(i_data19);
            data20  <= mh3(i_data20);
            data21  <= mh5(i_data21);
            data22  <= mh5(i_data22);
            data23  <= i_data23     ;
            data24  <= mh4(i_data24);
            data25  <= mh4(i_data25);
            data26  <= mh2(i_data26);
            data27  <= mh3(i_data27);
            data28  <= mh2(i_data28);
            data29  <= mh2(i_data29);
            data30  <= i_data30     ;
            data31  <= mh4(i_data31);
          end
    7'd81:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh2(i_data1) ;
            data2   <= mh3(i_data2) ;
            data3   <= mh2(i_data3) ;
            data4   <= mh3(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh3(i_data6) ;
            data7   <= mh7(i_data7) ;
            data8   <= mh7(i_data8) ;
            data9   <= mh2(i_data9) ;
            data10  <= i_data10     ;
            data11  <= mh7(i_data11);
            data12  <= i_data12     ;
            data13  <= mh3(i_data13);
            data14  <= mh6(i_data14);
            data15  <= mh5(i_data15);
            data16  <= mh4(i_data16);
            data17  <= mh5(i_data17);
            data18  <= mh2(i_data18);
            data19  <= mh6(i_data19);
            data20  <= mh3(i_data20);
            data21  <= mh7(i_data21);
            data22  <= mh3(i_data22);
            data23  <= i_data23     ;
            data24  <= i_data24     ;
            data25  <= mh7(i_data25);
            data26  <= mh7(i_data26);
            data27  <= mh5(i_data27);
            data28  <= mh7(i_data28);
            data29  <= mh5(i_data29);
            data30  <= mh7(i_data30);
            data31  <= i_data31     ;
          end
    7'd82:begin
            data0   <= mh6(i_data0) ;
            data1   <= mh5(i_data1) ;
            data2   <= mh7(i_data2) ;
            data3   <= i_data3      ;
            data4   <= mh7(i_data4) ;
            data5   <= i_data5      ;
            data6   <= i_data6      ;
            data7   <= mh4(i_data7) ;
            data8   <= mh3(i_data8) ;
            data9   <= mh3(i_data9) ;
            data10  <= mh5(i_data10);
            data11  <= mh5(i_data11);
            data12  <= i_data12     ;
            data13  <= mh7(i_data13);
            data14  <= mh4(i_data14);
            data15  <= mh6(i_data15);
            data16  <= mh4(i_data16);
            data17  <= mh4(i_data17);
            data18  <= mh7(i_data18);
            data19  <= mh4(i_data19);
            data20  <= i_data20     ;
            data21  <= mh2(i_data21);
            data22  <= mh7(i_data22);
            data23  <= mh5(i_data23);
            data24  <= mh5(i_data24);
            data25  <= mh2(i_data25);
            data26  <= mh4(i_data26);
            data27  <= mh6(i_data27);
            data28  <= i_data28     ;
            data29  <= mh5(i_data29);
            data30  <= mh3(i_data30);
            data31  <= mh7(i_data31);
          end
    7'd83:begin
            data0   <= i_data0      ;
            data1   <= mh6(i_data1) ;
            data2   <= mh7(i_data2) ;
            data3   <= mh2(i_data3) ;
            data4   <= mh7(i_data4) ;
            data5   <= i_data5      ;
            data6   <= mh5(i_data6) ;
            data7   <= i_data7      ;
            data8   <= mh6(i_data8) ;
            data9   <= mh5(i_data9) ;
            data10  <= mh4(i_data10);
            data11  <= mh3(i_data11);
            data12  <= mh4(i_data12);
            data13  <= mh2(i_data13);
            data14  <= mh4(i_data14);
            data15  <= mh6(i_data15);
            data16  <= i_data16     ;
            data17  <= mh7(i_data17);
            data18  <= mh6(i_data18);
            data19  <= mh2(i_data19);
            data20  <= mh7(i_data20);
            data21  <= mh6(i_data21);
            data22  <= mh6(i_data22);
            data23  <= mh7(i_data23);
            data24  <= mh6(i_data24);
            data25  <= mh5(i_data25);
            data26  <= mh7(i_data26);
            data27  <= mh7(i_data27);
            data28  <= mh3(i_data28);
            data29  <= mh2(i_data29);
            data30  <= mh4(i_data30);
            data31  <= mh4(i_data31);
          end
    7'd84:begin
            data0   <= mh4(i_data0) ;
            data1   <= mh5(i_data1) ;
            data2   <= mh4(i_data2) ;
            data3   <= mh7(i_data3) ;
            data4   <= i_data4      ;
            data5   <= mh2(i_data5) ;
            data6   <= mh7(i_data6) ;
            data7   <= mh5(i_data7) ;
            data8   <= mh7(i_data8) ;
            data9   <= mh3(i_data9) ;
            data10  <= i_data10     ;
            data11  <= mh5(i_data11);
            data12  <= mh4(i_data12);
            data13  <= mh5(i_data13);
            data14  <= mh7(i_data14);
            data15  <= mh4(i_data15);
            data16  <= mh5(i_data16);
            data17  <= mh5(i_data17);
            data18  <= mh2(i_data18);
            data19  <= mh2(i_data19);
            data20  <= mh7(i_data20);
            data21  <= i_data21     ;
            data22  <= mh5(i_data22);
            data23  <= mh2(i_data23);
            data24  <= mh6(i_data24);
            data25  <= mh5(i_data25);
            data26  <= i_data26     ;
            data27  <= mh7(i_data27);
            data28  <= i_data28     ;
            data29  <= mh4(i_data29);
            data30  <= mh2(i_data30);
            data31  <= mh2(i_data31);
          end
    7'd85:begin
            data0   <= mh7(i_data0) ;
            data1   <= i_data1      ;
            data2   <= mh4(i_data2) ;
            data3   <= mh6(i_data3) ;
            data4   <= i_data4      ;
            data5   <= mh7(i_data5) ;
            data6   <= mh4(i_data6) ;
            data7   <= mh6(i_data7) ;
            data8   <= mh4(i_data8) ;
            data9   <= mh6(i_data9) ;
            data10  <= mh6(i_data10);
            data11  <= i_data11     ;
            data12  <= i_data12     ;
            data13  <= mh6(i_data13);
            data14  <= mh2(i_data14);
            data15  <= i_data15     ;
            data16  <= mh6(i_data16);
            data17  <= mh4(i_data17);
            data18  <= mh2(i_data18);
            data19  <= mh5(i_data19);
            data20  <= mh6(i_data20);
            data21  <= i_data21     ;
            data22  <= mh4(i_data22);
            data23  <= mh5(i_data23);
            data24  <= i_data24     ;
            data25  <= mh6(i_data25);
            data26  <= mh6(i_data26);
            data27  <= mh6(i_data27);
            data28  <= mh6(i_data28);
            data29  <= mh2(i_data29);
            data30  <= mh5(i_data30);
            data31  <= i_data31     ;
          end
    7'd86:begin
            data0   <= mh3(i_data0) ;
            data1   <= mh6(i_data1) ;
            data2   <= mh5(i_data2) ;
            data3   <= mh5(i_data3) ;
            data4   <= mh3(i_data4) ;
            data5   <= mh7(i_data5) ;
            data6   <= i_data6      ;
            data7   <= mh3(i_data7) ;
            data8   <= mh6(i_data8) ;
            data9   <= mh6(i_data9) ;
            data10  <= mh3({i_data32,DATA0});
            data11  <= 3'd0         ;
            data12  <= 3'd0         ;
            data13  <= 3'd0         ;
            data14  <= 3'd0         ;
            data15  <= 3'd0         ;
            data16  <= 3'd0         ;
            data17  <= 3'd0         ;
            data18  <= 3'd0         ;
            data19  <= 3'd0         ;
            data20  <= 3'd0         ;
            data21  <= 3'd0         ;
            data22  <= 3'd0         ;
            data23  <= 3'd0         ;
            data24  <= 3'd0         ;
            data25  <= 3'd0         ;
            data26  <= 3'd0         ;
            data27  <= 3'd0         ;
            data28  <= 3'd0         ;
            data29  <= 3'd0         ;
            data30  <= 3'd0         ;
            data31  <= 3'd0         ;
          end
    default:begin
          	data0   <= 3'd0         ;
            data1   <= 3'd0         ;
            data2   <= 3'd0         ;
            data3   <= 3'd0         ;
            data4   <= 3'd0         ;
            data5   <= 3'd0         ;
            data6   <= 3'd0         ;
            data7   <= 3'd0         ;
            data8   <= 3'd0         ;
            data9   <= 3'd0         ;
            data10  <= 3'd0         ;
            data11  <= 3'd0         ;
            data12  <= 3'd0         ;
            data13  <= 3'd0         ;
            data14  <= 3'd0         ;
            data15  <= 3'd0         ;
            data16  <= 3'd0         ;
            data17  <= 3'd0         ;
            data18  <= 3'd0         ;
            data19  <= 3'd0         ;
            data20  <= 3'd0         ;
            data21  <= 3'd0         ;
            data22  <= 3'd0         ;
            data23  <= 3'd0         ;
            data24  <= 3'd0         ;
            data25  <= 3'd0         ;
            data26  <= 3'd0         ;
            data27  <= 3'd0         ;
            data28  <= 3'd0         ;
            data29  <= 3'd0         ;
            data30  <= 3'd0         ;
            data31  <= 3'd0         ;
          end
endcase
end else begin
          	data0   <= 3'd0         ;
            data1   <= 3'd0         ;
            data2   <= 3'd0         ;
            data3   <= 3'd0         ;
            data4   <= 3'd0         ;
            data5   <= 3'd0         ;
            data6   <= 3'd0         ;
            data7   <= 3'd0         ;
            data8   <= 3'd0         ;
            data9   <= 3'd0         ;
            data10  <= 3'd0         ;
            data11  <= 3'd0         ;
            data12  <= 3'd0         ;
            data13  <= 3'd0         ;
            data14  <= 3'd0         ;
            data15  <= 3'd0         ;
            data16  <= 3'd0         ;
            data17  <= 3'd0         ;
            data18  <= 3'd0         ;
            data19  <= 3'd0         ;
            data20  <= 3'd0         ;
            data21  <= 3'd0         ;
            data22  <= 3'd0         ;
            data23  <= 3'd0         ;
            data24  <= 3'd0         ;
            data25  <= 3'd0         ;
            data26  <= 3'd0         ;
            data27  <= 3'd0         ;
            data28  <= 3'd0         ;
            data29  <= 3'd0         ;
            data30  <= 3'd0         ;
            data31  <= 3'd0         ;
          end

///////////////////////////////////////
//First-stage pipeline 
///////////////////////////////////////
always@(posedge i_clk)
begin
    d0_data0    <= data0              ;
    d0_data1    <= data1              ;
    d0_data2    <= data2              ;
    d0_data3    <= data3              ;
    d0_data4    <= data4              ;
    d0_data5    <= data5              ;
    d0_data6    <= data6              ;
    d0_data7    <= data7              ;
    d0_data8    <= data8              ;
    d0_data9    <= data9              ;
    d0_data10   <= data10             ;
    d0_data11   <= data11             ;
    d0_data12   <= data12             ;
    d0_data13   <= data13             ;
    d0_data14   <= data14             ;
    d0_data15   <= data15             ;
    d0_data16   <= data16             ;
    d0_data17   <= data17             ;
    d0_data18   <= data18             ;
    d0_data19   <= data19             ;
    d0_data20   <= data20             ;
    d0_data21   <= data21             ;
    d0_data22   <= data22             ;
    d0_data23   <= data23             ;
    d0_data24   <= data24             ;
    d0_data25   <= data25             ;
    d0_data26   <= data26             ;
    d0_data27   <= data27             ;
    d0_data28   <= data28             ;
    d0_data29   <= data29             ;
    d0_data30   <= data30             ;
    d0_data31   <= data31             ;
end

///////////////////////////////////////
//Save the result of the previous level using
//the latch according to the corresponding position
///////////////////////////////////////
always@(posedge i_clk or negedge i_rst_n)
begin
    if(i_rst_n == 1'b0)  begin
      	o_data0    <=  3'd0              ;
        o_data1    <=  3'd0              ;
        o_data2    <=  3'd0              ;
        o_data3    <=  3'd0              ;
        o_data4    <=  3'd0              ;
        o_data5    <=  3'd0              ;
        o_data6    <=  3'd0              ;
        o_data7    <=  3'd0              ;
        o_data8    <=  3'd0              ;
        o_data9    <=  3'd0              ;
        o_data10   <=  3'd0              ;
        o_data11   <=  3'd0              ;
        o_data12   <=  3'd0              ;
        o_data13   <=  3'd0              ;
        o_data14   <=  3'd0              ;
        o_data15   <=  3'd0              ;
        o_data16   <=  3'd0              ;
        o_data17   <=  3'd0              ;
        o_data18   <=  3'd0              ;
        o_data19   <=  3'd0              ;
        o_data20   <=  3'd0              ;
        o_data21   <=  3'd0              ;
        o_data22   <=  3'd0              ;
        o_data23   <=  3'd0              ;
        o_data24   <=  3'd0              ;
        o_data25   <=  3'd0              ;
        o_data26   <=  3'd0              ;
        o_data27   <=  3'd0              ;
        o_data28   <=  3'd0              ;
        o_data29   <=  3'd0              ;
        o_data30   <=  3'd0              ;
        o_data31   <=  3'd0              ;
        o_data32   <=  3'd0              ;
        o_data33   <=  3'd0              ;
        o_data34   <=  3'd0              ;
        o_data35   <=  3'd0              ;
        o_data36   <=  3'd0              ;
        o_data37   <=  3'd0              ;
        o_data38   <=  3'd0              ;
        o_data39   <=  3'd0              ;
        o_data40   <=  3'd0              ;
        o_data41   <=  3'd0              ;
        o_data42   <=  3'd0              ;
        o_data43   <=  3'd0              ;
        o_data44   <=  3'd0              ;
        o_data45   <=  3'd0              ;
        o_data46   <=  3'd0              ;
        o_data47   <=  3'd0              ;
        o_data48   <=  3'd0              ;
        o_data49   <=  3'd0              ;
        o_data50   <=  3'd0              ;
        o_data51   <=  3'd0              ;
        o_data52   <=  3'd0              ;
        o_data53   <=  3'd0              ;
        o_data54   <=  3'd0              ;
        o_data55   <=  3'd0              ;
        o_data56   <=  3'd0              ;
        o_data57   <=  3'd0              ;
        o_data58   <=  3'd0              ;
        o_data59   <=  3'd0              ;
        o_data60   <=  3'd0              ;
        o_data61   <=  3'd0              ;
        o_data62   <=  3'd0              ;
        o_data63   <=  3'd0              ;
        o_data64   <=  3'd0              ;
        o_data65   <=  3'd0              ;
        o_data66   <=  3'd0              ;
        o_data67   <=  3'd0              ;
        o_data68   <=  3'd0              ;
        o_data69   <=  3'd0              ;
        o_data70   <=  3'd0              ;
        o_data71   <=  3'd0              ;
        o_data72   <=  3'd0              ;
        o_data73   <=  3'd0              ;
        o_data74   <=  3'd0              ;
        o_data75   <=  3'd0              ;
        o_data76   <=  3'd0              ;
        o_data77   <=  3'd0              ;
        o_data78   <=  3'd0              ;
        o_data79   <=  3'd0              ;
        o_data80   <=  3'd0              ;
        o_data81   <=  3'd0              ;
        o_data82   <=  3'd0              ;
        o_data83   <=  3'd0              ;
        o_data84   <=  3'd0              ;
        o_data85   <=  3'd0              ;
        o_data86   <=  3'd0              ;
        o_data87   <=  3'd0              ;
        o_data88   <=  3'd0              ;
        o_data89   <=  3'd0              ;
        o_data90   <=  3'd0              ;
        o_data91   <=  3'd0              ;
        o_data92   <=  3'd0              ;
        o_data93   <=  3'd0              ;
        o_data94   <=  3'd0              ;
        o_data95   <=  3'd0              ;
        o_data96   <=  3'd0              ;
        o_data97   <=  3'd0              ;
        o_data98   <=  3'd0              ;
        o_data99   <=  3'd0              ;
        o_data100  <=  3'd0              ;
        o_data101  <=  3'd0              ;
        o_data102  <=  3'd0              ;
        o_data103  <=  3'd0              ;
        o_data104  <=  3'd0              ;
        o_data105  <=  3'd0              ;
        o_data106  <=  3'd0              ;
        o_data107  <=  3'd0              ;
        o_data108  <=  3'd0              ;
        o_data109  <=  3'd0              ;
        o_data110  <=  3'd0              ;
        o_data111  <=  3'd0              ;
        o_data112  <=  3'd0              ;  
    end else if(i_code_en == 1'b1) begin
    if(i_cnt == 7'd2) begin
        o_data24  <= o_data24  ^ d0_data0  ;
        o_data25  <= o_data25  ^ d0_data1  ;
        o_data26  <= o_data26  ^ d0_data2  ;
        o_data27  <= o_data27  ^ d0_data3  ;
        o_data28  <= o_data28  ^ d0_data4  ;
        o_data29  <= o_data29  ^ d0_data5  ;
        o_data30  <= o_data30  ^ d0_data6  ;
        o_data31  <= o_data31  ^ d0_data7  ;
        o_data32  <= o_data32  ^ d0_data8  ;
        o_data33  <= o_data33  ^ d0_data9  ;
        o_data34  <= o_data34  ^ d0_data10 ;
        o_data35  <= o_data35  ^ d0_data11 ;
        o_data36  <= o_data36  ^ d0_data12 ;
        o_data37  <= o_data37  ^ d0_data13 ;
        o_data38  <= o_data38  ^ d0_data14 ;
        o_data39  <= o_data39  ^ d0_data15 ;
        o_data40  <= o_data40  ^ d0_data16 ;
        o_data41  <= o_data41  ^ d0_data17 ;
        o_data42  <= o_data42  ^ d0_data18 ;
        o_data106 <= o_data106 ^ d0_data19 ;
        o_data107 <= o_data107 ^ d0_data20 ;
        o_data108 <= o_data108 ^ d0_data21 ;
        o_data109 <= o_data109 ^ d0_data22 ;
        o_data110 <= o_data110 ^ d0_data23 ;
        o_data111 <= o_data111 ^ d0_data24 ;
        o_data112 <= o_data112 ^ d0_data25 ;
        o_data0   <= o_data0   ^ d0_data26 ;
        o_data1   <= o_data1   ^ d0_data27 ;
        o_data2   <= o_data2   ^ d0_data28 ;
        o_data3   <= o_data3   ^ d0_data29 ;
        o_data4   <= o_data4   ^ d0_data30 ;
        o_data5   <= o_data5   ^ d0_data31 ;
    end else if(i_cnt == 7'd3) begin
        o_data6   <= o_data6   ^ d0_data0  ;
        o_data7   <= o_data7   ^ d0_data1  ;
        o_data8   <= o_data8   ^ d0_data2  ;
        o_data9   <= o_data9   ^ d0_data3  ;
        o_data10  <= o_data10  ^ d0_data4  ;
        o_data11  <= o_data11  ^ d0_data5  ;
        o_data12  <= o_data12  ^ d0_data6  ;
        o_data13  <= o_data13  ^ d0_data7  ;
        o_data14  <= o_data14  ^ d0_data8  ;
        o_data15  <= o_data15  ^ d0_data9  ;
        o_data16  <= o_data16  ^ d0_data10 ;
        o_data17  <= o_data17  ^ d0_data11 ;
        o_data18  <= o_data18  ^ d0_data12 ;
        o_data19  <= o_data19  ^ d0_data13 ;
        o_data20  <= o_data20  ^ d0_data14 ;
        o_data21  <= o_data21  ^ d0_data15 ;
        o_data22  <= o_data22  ^ d0_data16 ;
        o_data23  <= o_data23  ^ d0_data17 ;
        o_data24  <= o_data24  ^ d0_data18 ;
        o_data25  <= o_data25  ^ d0_data19 ;
        o_data26  <= o_data26  ^ d0_data20 ;
        o_data27  <= o_data27  ^ d0_data21 ;
        o_data28  <= o_data28  ^ d0_data22 ;
        o_data29  <= o_data29  ^ d0_data23 ;
        o_data30  <= o_data30  ^ d0_data24 ;
        o_data31  <= o_data31  ^ d0_data25 ;
        o_data32  <= o_data32  ^ d0_data26 ;
        o_data33  <= o_data33  ^ d0_data27 ;
        o_data34  <= o_data34  ^ d0_data28 ;
        o_data35  <= o_data35  ^ d0_data29 ;
        o_data36  <= o_data36  ^ d0_data30 ;
        o_data37  <= o_data37  ^ d0_data31 ;
    end else if(i_cnt == 7'd4) begin
        o_data38  <= o_data38  ^ d0_data0  ;
        o_data39  <= o_data39  ^ d0_data1  ;
        o_data40  <= o_data40  ^ d0_data2  ;
        o_data41  <= o_data41  ^ d0_data3  ;
        o_data42  <= o_data42  ^ d0_data4  ;
        o_data43  <= o_data43  ^ d0_data5  ;
        o_data44  <= o_data44  ^ d0_data6  ;
        o_data45  <= o_data45  ^ d0_data7  ;
        o_data46  <= o_data46  ^ d0_data8  ;
        o_data47  <= o_data47  ^ d0_data9  ;
        o_data48  <= o_data48  ^ d0_data10 ;
        o_data49  <= o_data49  ^ d0_data11 ;
        o_data50  <= o_data50  ^ d0_data12 ;
        o_data51  <= o_data51  ^ d0_data13 ;
        o_data52  <= o_data52  ^ d0_data14 ;
        o_data53  <= o_data53  ^ d0_data15 ;
        o_data54  <= o_data54  ^ d0_data16 ;
        o_data55  <= o_data55  ^ d0_data17 ;
        o_data56  <= o_data56  ^ d0_data18 ;
        o_data57  <= o_data57  ^ d0_data19 ;
        o_data58  <= o_data58  ^ d0_data20 ;
        o_data59  <= o_data59  ^ d0_data21 ;
        o_data60  <= o_data60  ^ d0_data22 ;
        o_data61  <= o_data61  ^ d0_data23 ;
        o_data62  <= o_data62  ^ d0_data24 ;
        o_data63  <= o_data63  ^ d0_data25 ;
        o_data64  <= o_data64  ^ d0_data26 ;
        o_data65  <= o_data65  ^ d0_data27 ;
        o_data66  <= o_data66  ^ d0_data28 ;
        o_data67  <= o_data67  ^ d0_data29 ;
        o_data68  <= o_data68  ^ d0_data30 ;
        o_data69  <= o_data69  ^ d0_data31 ;
    end else if(i_cnt == 7'd5) begin
        o_data70  <= o_data70  ^ d0_data0  ;
        o_data71  <= o_data71  ^ d0_data1  ;
        o_data72  <= o_data72  ^ d0_data2  ;
        o_data73  <= o_data73  ^ d0_data3  ;
        o_data74  <= o_data74  ^ d0_data4  ;
        o_data75  <= o_data75  ^ d0_data5  ;
        o_data76  <= o_data76  ^ d0_data6  ;
        o_data77  <= o_data77  ^ d0_data7  ;
        o_data78  <= o_data78  ^ d0_data8  ;
        o_data79  <= o_data79  ^ d0_data9  ;
        o_data80  <= o_data80  ^ d0_data10 ;
        o_data81  <= o_data81  ^ d0_data11 ;
        o_data82  <= o_data82  ^ d0_data12 ;
        o_data83  <= o_data83  ^ d0_data13 ;
        o_data84  <= o_data84  ^ d0_data14 ;
        o_data85  <= o_data85  ^ d0_data15 ;
        o_data86  <= o_data86  ^ d0_data16 ;
        o_data87  <= o_data87  ^ d0_data17 ;
        o_data88  <= o_data88  ^ d0_data18 ;
        o_data89  <= o_data89  ^ d0_data19 ;
        o_data90  <= o_data90  ^ d0_data20 ;
        o_data91  <= o_data91  ^ d0_data21 ;
        o_data92  <= o_data92  ^ d0_data22 ;
        o_data93  <= o_data93  ^ d0_data23 ;
        o_data94  <= o_data94  ^ d0_data24 ;
        o_data95  <= o_data95  ^ d0_data25 ;
        o_data96  <= o_data96  ^ d0_data26 ;
        o_data97  <= o_data97  ^ d0_data27 ;
        o_data98  <= o_data98  ^ d0_data28 ;
        o_data99  <= o_data99  ^ d0_data29 ;
        o_data100 <= o_data100 ^ d0_data30 ;
        o_data101 <= o_data101 ^ d0_data31 ;
    end else if(i_cnt == 7'd6) begin
        o_data102 <= o_data102 ^ d0_data0  ;
        o_data103 <= o_data103 ^ d0_data1  ;
        o_data104 <= o_data104 ^ d0_data2  ;
        o_data105 <= o_data105 ^ d0_data3  ;
        o_data53  <= o_data53  ^ d0_data4  ;
        o_data54  <= o_data54  ^ d0_data5  ;
        o_data55  <= o_data55  ^ d0_data6  ;
        o_data56  <= o_data56  ^ d0_data7  ;
        o_data57  <= o_data57  ^ d0_data8  ;
        o_data58  <= o_data58  ^ d0_data9  ;
        o_data59  <= o_data59  ^ d0_data10 ;
        o_data60  <= o_data60  ^ d0_data11 ;
        o_data61  <= o_data61  ^ d0_data12 ;
        o_data62  <= o_data62  ^ d0_data13 ;
        o_data63  <= o_data63  ^ d0_data14 ;
        o_data64  <= o_data64  ^ d0_data15 ;
        o_data65  <= o_data65  ^ d0_data16 ;
        o_data66  <= o_data66  ^ d0_data17 ;
        o_data67  <= o_data67  ^ d0_data18 ;
        o_data68  <= o_data68  ^ d0_data19 ;
        o_data69  <= o_data69  ^ d0_data20 ;
        o_data70  <= o_data70  ^ d0_data21 ;
        o_data71  <= o_data71  ^ d0_data22 ;
        o_data72  <= o_data72  ^ d0_data23 ;
        o_data73  <= o_data73  ^ d0_data24 ;
        o_data74  <= o_data74  ^ d0_data25 ;
        o_data75  <= o_data75  ^ d0_data26 ;
        o_data76  <= o_data76  ^ d0_data27 ;
        o_data77  <= o_data77  ^ d0_data28 ;
        o_data78  <= o_data78  ^ d0_data29 ;
        o_data79  <= o_data79  ^ d0_data30 ;
        o_data80  <= o_data80  ^ d0_data31 ;
    end else if(i_cnt == 7'd7) begin
        o_data81  <= o_data81  ^ d0_data0  ;
        o_data82  <= o_data82  ^ d0_data1  ;
        o_data83  <= o_data83  ^ d0_data2  ;
        o_data84  <= o_data84  ^ d0_data3  ;
        o_data85  <= o_data85  ^ d0_data4  ;
        o_data86  <= o_data86  ^ d0_data5  ;
        o_data87  <= o_data87  ^ d0_data6  ;
        o_data88  <= o_data88  ^ d0_data7  ;
        o_data89  <= o_data89  ^ d0_data8  ;
        o_data90  <= o_data90  ^ d0_data9  ;
        o_data91  <= o_data91  ^ d0_data10 ;
        o_data92  <= o_data92  ^ d0_data11 ;
        o_data93  <= o_data93  ^ d0_data12 ;
        o_data94  <= o_data94  ^ d0_data13 ;
        o_data95  <= o_data95  ^ d0_data14 ;
        o_data96  <= o_data96  ^ d0_data15 ;
        o_data97  <= o_data97  ^ d0_data16 ;
        o_data98  <= o_data98  ^ d0_data17 ;
        o_data99  <= o_data99  ^ d0_data18 ;
        o_data100 <= o_data100 ^ d0_data19 ;
        o_data101 <= o_data101 ^ d0_data20 ;
        o_data102 <= o_data102 ^ d0_data21 ;
        o_data103 <= o_data103 ^ d0_data22 ;
        o_data104 <= o_data104 ^ d0_data23 ;
        o_data105 <= o_data105 ^ d0_data24 ;
        o_data106 <= o_data106 ^ d0_data25 ;
        o_data107 <= o_data107 ^ d0_data26 ;
        o_data108 <= o_data108 ^ d0_data27 ;
        o_data109 <= o_data109 ^ d0_data28 ;
        o_data110 <= o_data110 ^ d0_data29 ;
        o_data111 <= o_data111 ^ d0_data30 ;
        o_data112 <= o_data112 ^ d0_data31 ;
    end else if(i_cnt == 7'd8) begin
        o_data0   <= o_data0   ^ d0_data0  ;
        o_data1   <= o_data1   ^ d0_data1  ;
        o_data2   <= o_data2   ^ d0_data2  ;
        o_data3   <= o_data3   ^ d0_data3  ;
        o_data4   <= o_data4   ^ d0_data4  ;
        o_data5   <= o_data5   ^ d0_data5  ;
        o_data6   <= o_data6   ^ d0_data6  ;
        o_data7   <= o_data7   ^ d0_data7  ;
        o_data8   <= o_data8   ^ d0_data8  ;
        o_data9   <= o_data9   ^ d0_data9  ;
        o_data10  <= o_data10  ^ d0_data10 ;
        o_data11  <= o_data11  ^ d0_data11 ;
        o_data12  <= o_data12  ^ d0_data12 ;
        o_data13  <= o_data13  ^ d0_data13 ;
        o_data14  <= o_data14  ^ d0_data14 ;
        o_data15  <= o_data15  ^ d0_data15 ;
        o_data16  <= o_data16  ^ d0_data16 ;
        o_data17  <= o_data17  ^ d0_data17 ;
        o_data18  <= o_data18  ^ d0_data18 ;
        o_data19  <= o_data19  ^ d0_data19 ;
        o_data20  <= o_data20  ^ d0_data20 ;
        o_data21  <= o_data21  ^ d0_data21 ;
        o_data22  <= o_data22  ^ d0_data22 ;
        o_data23  <= o_data23  ^ d0_data23 ;
        o_data24  <= o_data24  ^ d0_data24 ;
        o_data25  <= o_data25  ^ d0_data25 ;
        o_data26  <= o_data26  ^ d0_data26 ;
        o_data27  <= o_data27  ^ d0_data27 ;
        o_data28  <= o_data28  ^ d0_data28 ;
        o_data29  <= o_data29  ^ d0_data29 ;
        o_data30  <= o_data30  ^ d0_data30 ;
        o_data31  <= o_data31  ^ d0_data31 ;
    end else if(i_cnt == 7'd9) begin
        o_data32  <= o_data32  ^ d0_data0  ;
        o_data33  <= o_data33  ^ d0_data1  ;
        o_data34  <= o_data34  ^ d0_data2  ;
        o_data35  <= o_data35  ^ d0_data3  ;
        o_data36  <= o_data36  ^ d0_data4  ;
        o_data37  <= o_data37  ^ d0_data5  ;
        o_data38  <= o_data38  ^ d0_data6  ;
        o_data39  <= o_data39  ^ d0_data7  ;
        o_data40  <= o_data40  ^ d0_data8  ;
        o_data41  <= o_data41  ^ d0_data9  ;
        o_data42  <= o_data42  ^ d0_data10 ;
        o_data43  <= o_data43  ^ d0_data11 ;
        o_data44  <= o_data44  ^ d0_data12 ;
        o_data45  <= o_data45  ^ d0_data13 ;
        o_data46  <= o_data46  ^ d0_data14 ;
        o_data47  <= o_data47  ^ d0_data15 ;
        o_data48  <= o_data48  ^ d0_data16 ;
        o_data49  <= o_data49  ^ d0_data17 ;
        o_data50  <= o_data50  ^ d0_data18 ;
        o_data51  <= o_data51  ^ d0_data19 ;
        o_data52  <= o_data52  ^ d0_data20 ;
        o_data80  <= o_data80  ^ d0_data21 ;
        o_data81  <= o_data81  ^ d0_data22 ;
        o_data82  <= o_data82  ^ d0_data23 ;
        o_data83  <= o_data83  ^ d0_data24 ;
        o_data84  <= o_data84  ^ d0_data25 ;
        o_data85  <= o_data85  ^ d0_data26 ;
        o_data86  <= o_data86  ^ d0_data27 ;
        o_data87  <= o_data87  ^ d0_data28 ;
        o_data88  <= o_data88  ^ d0_data29 ;
        o_data89  <= o_data89  ^ d0_data30 ;
        o_data90  <= o_data90  ^ d0_data31 ;
    end else if(i_cnt == 7'd00) begin
        o_data91  <= o_data91  ^ d0_data0  ;
        o_data92  <= o_data92  ^ d0_data1  ;
        o_data93  <= o_data93  ^ d0_data2  ;
        o_data94  <= o_data94  ^ d0_data3  ;
        o_data95  <= o_data95  ^ d0_data4  ;
        o_data96  <= o_data96  ^ d0_data5  ;
        o_data97  <= o_data97  ^ d0_data6  ;
        o_data98  <= o_data98  ^ d0_data7  ;
        o_data99  <= o_data99  ^ d0_data8  ;
        o_data100 <= o_data100 ^ d0_data9  ;
        o_data101 <= o_data101 ^ d0_data10 ;
        o_data102 <= o_data102 ^ d0_data11 ;
        o_data103 <= o_data103 ^ d0_data12 ;
        o_data104 <= o_data104 ^ d0_data13 ;
        o_data105 <= o_data105 ^ d0_data14 ;
        o_data106 <= o_data106 ^ d0_data15 ;
        o_data107 <= o_data107 ^ d0_data16 ;
        o_data108 <= o_data108 ^ d0_data17 ;
        o_data109 <= o_data109 ^ d0_data18 ;
        o_data110 <= o_data110 ^ d0_data19 ;
        o_data111 <= o_data111 ^ d0_data20 ;
        o_data112 <= o_data112 ^ d0_data21 ;
        o_data0   <= o_data0   ^ d0_data22 ;
        o_data1   <= o_data1   ^ d0_data23 ;
        o_data2   <= o_data2   ^ d0_data24 ;
        o_data3   <= o_data3   ^ d0_data25 ;
        o_data4   <= o_data4   ^ d0_data26 ;
        o_data5   <= o_data5   ^ d0_data27 ;
        o_data6   <= o_data6   ^ d0_data28 ;
        o_data7   <= o_data7   ^ d0_data29 ;
        o_data8   <= o_data8   ^ d0_data30 ;
        o_data9   <= o_data9   ^ d0_data31 ;
    end else if(i_cnt == 7'd01) begin
        o_data10  <= o_data10  ^ d0_data0  ;
        o_data11  <= o_data11  ^ d0_data1  ;
        o_data12  <= o_data12  ^ d0_data2  ;
        o_data13  <= o_data13  ^ d0_data3  ;
        o_data14  <= o_data14  ^ d0_data4  ;
        o_data15  <= o_data15  ^ d0_data5  ;
        o_data16  <= o_data16  ^ d0_data6  ;
        o_data17  <= o_data17  ^ d0_data7  ;
        o_data18  <= o_data18  ^ d0_data8  ;
        o_data19  <= o_data19  ^ d0_data9  ;
        o_data20  <= o_data20  ^ d0_data10 ;
        o_data21  <= o_data21  ^ d0_data11 ;
        o_data22  <= o_data22  ^ d0_data12 ;
        o_data23  <= o_data23  ^ d0_data13 ;
        o_data24  <= o_data24  ^ d0_data14 ;
        o_data25  <= o_data25  ^ d0_data15 ;
        o_data26  <= o_data26  ^ d0_data16 ;
        o_data27  <= o_data27  ^ d0_data17 ;
        o_data28  <= o_data28  ^ d0_data18 ;
        o_data29  <= o_data29  ^ d0_data19 ;
        o_data30  <= o_data30  ^ d0_data20 ;
        o_data31  <= o_data31  ^ d0_data21 ;
        o_data32  <= o_data32  ^ d0_data22 ;
        o_data33  <= o_data33  ^ d0_data23 ;
        o_data34  <= o_data34  ^ d0_data24 ;
        o_data35  <= o_data35  ^ d0_data25 ;
        o_data36  <= o_data36  ^ d0_data26 ;
        o_data37  <= o_data37  ^ d0_data27 ;
        o_data38  <= o_data38  ^ d0_data28 ;
        o_data39  <= o_data39  ^ d0_data29 ;
        o_data40  <= o_data40  ^ d0_data30 ;
        o_data41  <= o_data41  ^ d0_data31 ;
    end else if(i_cnt == 7'd02) begin
        o_data42  <= o_data42  ^ d0_data0  ;
        o_data43  <= o_data43  ^ d0_data1  ;
        o_data44  <= o_data44  ^ d0_data2  ;
        o_data45  <= o_data45  ^ d0_data3  ;
        o_data46  <= o_data46  ^ d0_data4  ;
        o_data47  <= o_data47  ^ d0_data5  ;
        o_data48  <= o_data48  ^ d0_data6  ;
        o_data49  <= o_data49  ^ d0_data7  ;
        o_data50  <= o_data50  ^ d0_data8  ;
        o_data51  <= o_data51  ^ d0_data9  ;
        o_data52  <= o_data52  ^ d0_data10 ;
        o_data53  <= o_data53  ^ d0_data11 ;
        o_data54  <= o_data54  ^ d0_data12 ;
        o_data55  <= o_data55  ^ d0_data13 ;
        o_data56  <= o_data56  ^ d0_data14 ;
        o_data57  <= o_data57  ^ d0_data15 ;
        o_data58  <= o_data58  ^ d0_data16 ;
        o_data59  <= o_data59  ^ d0_data17 ;
        o_data60  <= o_data60  ^ d0_data18 ;
        o_data61  <= o_data61  ^ d0_data19 ;
        o_data62  <= o_data62  ^ d0_data20 ;
        o_data63  <= o_data63  ^ d0_data21 ;
        o_data64  <= o_data64  ^ d0_data22 ;
        o_data65  <= o_data65  ^ d0_data23 ;
        o_data66  <= o_data66  ^ d0_data24 ;
        o_data67  <= o_data67  ^ d0_data25 ;
        o_data68  <= o_data68  ^ d0_data26 ;
        o_data69  <= o_data69  ^ d0_data27 ;
        o_data70  <= o_data70  ^ d0_data28 ;
        o_data71  <= o_data71  ^ d0_data29 ;
        o_data72  <= o_data72  ^ d0_data30 ;
        o_data73  <= o_data73  ^ d0_data31 ;
    end else if(i_cnt == 7'd03) begin
        o_data74  <= o_data74  ^ d0_data0  ;
        o_data75  <= o_data75  ^ d0_data1  ;
        o_data76  <= o_data76  ^ d0_data2  ;
        o_data77  <= o_data77  ^ d0_data3  ;
        o_data78  <= o_data78  ^ d0_data4  ;
        o_data79  <= o_data79  ^ d0_data5  ;
        o_data9   <= o_data9   ^ d0_data6  ;
        o_data10  <= o_data10  ^ d0_data7  ;
        o_data11  <= o_data11  ^ d0_data8  ;
        o_data12  <= o_data12  ^ d0_data9  ;
        o_data13  <= o_data13  ^ d0_data10 ;
        o_data14  <= o_data14  ^ d0_data11 ;
        o_data15  <= o_data15  ^ d0_data12 ;
        o_data16  <= o_data16  ^ d0_data13 ;
        o_data17  <= o_data17  ^ d0_data14 ;
        o_data18  <= o_data18  ^ d0_data15 ;
        o_data19  <= o_data19  ^ d0_data16 ;
        o_data20  <= o_data20  ^ d0_data17 ;
        o_data21  <= o_data21  ^ d0_data18 ;
        o_data22  <= o_data22  ^ d0_data19 ;
        o_data23  <= o_data23  ^ d0_data20 ;
        o_data24  <= o_data24  ^ d0_data21 ;
        o_data25  <= o_data25  ^ d0_data22 ;
        o_data26  <= o_data26  ^ d0_data23 ;
        o_data27  <= o_data27  ^ d0_data24 ;
        o_data28  <= o_data28  ^ d0_data25 ;
        o_data29  <= o_data29  ^ d0_data26 ;
        o_data30  <= o_data30  ^ d0_data27 ;
        o_data31  <= o_data31  ^ d0_data28 ;
        o_data32  <= o_data32  ^ d0_data29 ;
        o_data33  <= o_data33  ^ d0_data30 ;
        o_data34  <= o_data34  ^ d0_data31 ;
    end else if(i_cnt == 7'd04) begin
        o_data35  <= o_data35  ^ d0_data0  ;
        o_data36  <= o_data36  ^ d0_data1  ;
        o_data37  <= o_data37  ^ d0_data2  ;
        o_data38  <= o_data38  ^ d0_data3  ;
        o_data39  <= o_data39  ^ d0_data4  ;
        o_data40  <= o_data40  ^ d0_data5  ;
        o_data41  <= o_data41  ^ d0_data6  ;
        o_data42  <= o_data42  ^ d0_data7  ;
        o_data43  <= o_data43  ^ d0_data8  ;
        o_data44  <= o_data44  ^ d0_data9  ;
        o_data45  <= o_data45  ^ d0_data10 ;
        o_data46  <= o_data46  ^ d0_data11 ;
        o_data47  <= o_data47  ^ d0_data12 ;
        o_data48  <= o_data48  ^ d0_data13 ;
        o_data49  <= o_data49  ^ d0_data14 ;
        o_data50  <= o_data50  ^ d0_data15 ;
        o_data51  <= o_data51  ^ d0_data16 ;
        o_data52  <= o_data52  ^ d0_data17 ;
        o_data53  <= o_data53  ^ d0_data18 ;
        o_data54  <= o_data54  ^ d0_data19 ;
        o_data55  <= o_data55  ^ d0_data20 ;
        o_data56  <= o_data56  ^ d0_data21 ;
        o_data57  <= o_data57  ^ d0_data22 ;
        o_data58  <= o_data58  ^ d0_data23 ;
        o_data59  <= o_data59  ^ d0_data24 ;
        o_data60  <= o_data60  ^ d0_data25 ;
        o_data61  <= o_data61  ^ d0_data26 ;
        o_data62  <= o_data62  ^ d0_data27 ;
        o_data63  <= o_data63  ^ d0_data28 ;
        o_data64  <= o_data64  ^ d0_data29 ;
        o_data65  <= o_data65  ^ d0_data30 ;
        o_data66  <= o_data66  ^ d0_data31 ;
    end else if(i_cnt == 7'd05) begin
        o_data67  <= o_data67  ^ d0_data0  ;
        o_data68  <= o_data68  ^ d0_data1  ;
        o_data69  <= o_data69  ^ d0_data2  ;
        o_data70  <= o_data70  ^ d0_data3  ;
        o_data71  <= o_data71  ^ d0_data4  ;
        o_data72  <= o_data72  ^ d0_data5  ;
        o_data73  <= o_data73  ^ d0_data6  ;
        o_data74  <= o_data74  ^ d0_data7  ;
        o_data75  <= o_data75  ^ d0_data8  ;
        o_data76  <= o_data76  ^ d0_data9  ;
        o_data77  <= o_data77  ^ d0_data10 ;
        o_data78  <= o_data78  ^ d0_data11 ;
        o_data79  <= o_data79  ^ d0_data12 ;
        o_data80  <= o_data80  ^ d0_data13 ;
        o_data81  <= o_data81  ^ d0_data14 ;
        o_data82  <= o_data82  ^ d0_data15 ;
        o_data83  <= o_data83  ^ d0_data16 ;
        o_data84  <= o_data84  ^ d0_data17 ;
        o_data85  <= o_data85  ^ d0_data18 ;
        o_data86  <= o_data86  ^ d0_data19 ;
        o_data87  <= o_data87  ^ d0_data20 ;
        o_data88  <= o_data88  ^ d0_data21 ;
        o_data89  <= o_data89  ^ d0_data22 ;
        o_data90  <= o_data90  ^ d0_data23 ;
        o_data91  <= o_data91  ^ d0_data24 ;
        o_data92  <= o_data92  ^ d0_data25 ;
        o_data93  <= o_data93  ^ d0_data26 ;
        o_data94  <= o_data94  ^ d0_data27 ;
        o_data95  <= o_data95  ^ d0_data28 ;
        o_data96  <= o_data96  ^ d0_data29 ;
        o_data97  <= o_data97  ^ d0_data30 ;
        o_data98  <= o_data98  ^ d0_data31 ;
    end else if(i_cnt == 7'd06) begin
        o_data99  <= o_data99  ^ d0_data0  ;
        o_data100 <= o_data100 ^ d0_data1  ;
        o_data101 <= o_data101 ^ d0_data2  ;
        o_data102 <= o_data102 ^ d0_data3  ;
        o_data103 <= o_data103 ^ d0_data4  ;
        o_data104 <= o_data104 ^ d0_data5  ;
        o_data105 <= o_data105 ^ d0_data6  ;
        o_data106 <= o_data106 ^ d0_data7  ;
        o_data107 <= o_data107 ^ d0_data8  ;
        o_data108 <= o_data108 ^ d0_data9  ;
        o_data109 <= o_data109 ^ d0_data10 ;
        o_data110 <= o_data110 ^ d0_data11 ;
        o_data111 <= o_data111 ^ d0_data12 ;
        o_data112 <= o_data112 ^ d0_data13 ;
        o_data0   <= o_data0   ^ d0_data14 ;
        o_data1   <= o_data1   ^ d0_data15 ;
        o_data2   <= o_data2   ^ d0_data16 ;
        o_data3   <= o_data3   ^ d0_data17 ;
        o_data4   <= o_data4   ^ d0_data18 ;
        o_data5   <= o_data5   ^ d0_data19 ;
        o_data6   <= o_data6   ^ d0_data20 ;
        o_data7   <= o_data7   ^ d0_data21 ;
        o_data8   <= o_data8   ^ d0_data22 ;
        o_data37  <= o_data37  ^ d0_data23 ;
        o_data38  <= o_data38  ^ d0_data24 ;
        o_data39  <= o_data39  ^ d0_data25 ;
        o_data40  <= o_data40  ^ d0_data26 ;
        o_data41  <= o_data41  ^ d0_data27 ;
        o_data42  <= o_data42  ^ d0_data28 ;
        o_data43  <= o_data43  ^ d0_data29 ;
        o_data44  <= o_data44  ^ d0_data30 ;
        o_data45  <= o_data45  ^ d0_data31 ;
    end else if(i_cnt == 7'd07) begin
        o_data46  <= o_data46  ^ d0_data0  ;
        o_data47  <= o_data47  ^ d0_data1  ;
        o_data48  <= o_data48  ^ d0_data2  ;
        o_data49  <= o_data49  ^ d0_data3  ;
        o_data50  <= o_data50  ^ d0_data4  ;
        o_data51  <= o_data51  ^ d0_data5  ;
        o_data52  <= o_data52  ^ d0_data6  ;
        o_data53  <= o_data53  ^ d0_data7  ;
        o_data54  <= o_data54  ^ d0_data8  ;
        o_data55  <= o_data55  ^ d0_data9  ;
        o_data56  <= o_data56  ^ d0_data10 ;
        o_data57  <= o_data57  ^ d0_data11 ;
        o_data58  <= o_data58  ^ d0_data12 ;
        o_data59  <= o_data59  ^ d0_data13 ;
        o_data60  <= o_data60  ^ d0_data14 ;
        o_data61  <= o_data61  ^ d0_data15 ;
        o_data62  <= o_data62  ^ d0_data16 ;
        o_data63  <= o_data63  ^ d0_data17 ;
        o_data64  <= o_data64  ^ d0_data18 ;
        o_data65  <= o_data65  ^ d0_data19 ;
        o_data66  <= o_data66  ^ d0_data20 ;
        o_data67  <= o_data67  ^ d0_data21 ;
        o_data68  <= o_data68  ^ d0_data22 ;
        o_data69  <= o_data69  ^ d0_data23 ;
        o_data70  <= o_data70  ^ d0_data24 ;
        o_data71  <= o_data71  ^ d0_data25 ;
        o_data72  <= o_data72  ^ d0_data26 ;
        o_data73  <= o_data73  ^ d0_data27 ;
        o_data74  <= o_data74  ^ d0_data28 ;
        o_data75  <= o_data75  ^ d0_data29 ;
        o_data76  <= o_data76  ^ d0_data30 ;
        o_data77  <= o_data77  ^ d0_data31 ;
    end else if(i_cnt == 7'd08) begin
        o_data78  <= o_data78  ^ d0_data0  ;
        o_data79  <= o_data79  ^ d0_data1  ;
        o_data80  <= o_data80  ^ d0_data2  ;
        o_data81  <= o_data81  ^ d0_data3  ;
        o_data82  <= o_data82  ^ d0_data4  ;
        o_data83  <= o_data83  ^ d0_data5  ;
        o_data84  <= o_data84  ^ d0_data6  ;
        o_data85  <= o_data85  ^ d0_data7  ;
        o_data86  <= o_data86  ^ d0_data8  ;
        o_data87  <= o_data87  ^ d0_data9  ;
        o_data88  <= o_data88  ^ d0_data10 ;
        o_data89  <= o_data89  ^ d0_data11 ;
        o_data90  <= o_data90  ^ d0_data12 ;
        o_data91  <= o_data91  ^ d0_data13 ;
        o_data92  <= o_data92  ^ d0_data14 ;
        o_data93  <= o_data93  ^ d0_data15 ;
        o_data94  <= o_data94  ^ d0_data16 ;
        o_data95  <= o_data95  ^ d0_data17 ;
        o_data96  <= o_data96  ^ d0_data18 ;
        o_data97  <= o_data97  ^ d0_data19 ;
        o_data98  <= o_data98  ^ d0_data20 ;
        o_data99  <= o_data99  ^ d0_data21 ;
        o_data100 <= o_data100 ^ d0_data22 ;
        o_data101 <= o_data101 ^ d0_data23 ;
        o_data102 <= o_data102 ^ d0_data24 ;
        o_data103 <= o_data103 ^ d0_data25 ;
        o_data104 <= o_data104 ^ d0_data26 ;
        o_data105 <= o_data105 ^ d0_data27 ;
        o_data106 <= o_data106 ^ d0_data28 ;
        o_data107 <= o_data107 ^ d0_data29 ;
        o_data108 <= o_data108 ^ d0_data30 ;
        o_data109 <= o_data109 ^ d0_data31 ;
    end else if(i_cnt == 7'd09) begin
        o_data110 <= o_data110 ^ d0_data0  ;
        o_data111 <= o_data111 ^ d0_data1  ;
        o_data112 <= o_data112 ^ d0_data2  ;
        o_data0   <= o_data0   ^ d0_data3  ;
        o_data1   <= o_data1   ^ d0_data4  ;
        o_data2   <= o_data2   ^ d0_data5  ;
        o_data3   <= o_data3   ^ d0_data6  ;
        o_data4   <= o_data4   ^ d0_data7  ;
        o_data5   <= o_data5   ^ d0_data8  ;
        o_data6   <= o_data6   ^ d0_data9  ;
        o_data7   <= o_data7   ^ d0_data10 ;
        o_data8   <= o_data8   ^ d0_data11 ;
        o_data9   <= o_data9   ^ d0_data12 ;
        o_data10  <= o_data10  ^ d0_data13 ;
        o_data11  <= o_data11  ^ d0_data14 ;
        o_data12  <= o_data12  ^ d0_data15 ;
        o_data13  <= o_data13  ^ d0_data16 ;
        o_data14  <= o_data14  ^ d0_data17 ;
        o_data15  <= o_data15  ^ d0_data18 ;
        o_data16  <= o_data16  ^ d0_data19 ;
        o_data17  <= o_data17  ^ d0_data20 ;
        o_data18  <= o_data18  ^ d0_data21 ;
        o_data19  <= o_data19  ^ d0_data22 ;
        o_data20  <= o_data20  ^ d0_data23 ;
        o_data21  <= o_data21  ^ d0_data24 ;
        o_data22  <= o_data22  ^ d0_data25 ;
        o_data23  <= o_data23  ^ d0_data26 ;
        o_data24  <= o_data24  ^ d0_data27 ;
        o_data25  <= o_data25  ^ d0_data28 ;
        o_data26  <= o_data26  ^ d0_data29 ;
        o_data27  <= o_data27  ^ d0_data30 ;
        o_data28  <= o_data28  ^ d0_data31 ;
    end else if(i_cnt == 7'd20) begin
        o_data29  <= o_data29  ^ d0_data0  ;
        o_data30  <= o_data30  ^ d0_data1  ;
        o_data31  <= o_data31  ^ d0_data2  ;
        o_data32  <= o_data32  ^ d0_data3  ;
        o_data33  <= o_data33  ^ d0_data4  ;
        o_data34  <= o_data34  ^ d0_data5  ;
        o_data35  <= o_data35  ^ d0_data6  ;
        o_data36  <= o_data36  ^ d0_data7  ;
        o_data32  <= o_data32  ^ d0_data8  ;
        o_data33  <= o_data33  ^ d0_data9  ;
        o_data34  <= o_data34  ^ d0_data10 ;
        o_data35  <= o_data35  ^ d0_data11 ;
        o_data36  <= o_data36  ^ d0_data12 ;
        o_data37  <= o_data37  ^ d0_data13 ;
        o_data38  <= o_data38  ^ d0_data14 ;
        o_data39  <= o_data39  ^ d0_data15 ;
        o_data40  <= o_data40  ^ d0_data16 ;
        o_data41  <= o_data41  ^ d0_data17 ;
        o_data42  <= o_data42  ^ d0_data18 ;
        o_data43  <= o_data43  ^ d0_data19 ;
        o_data44  <= o_data44  ^ d0_data20 ;
        o_data45  <= o_data45  ^ d0_data21 ;
        o_data46  <= o_data46  ^ d0_data22 ;
        o_data47  <= o_data47  ^ d0_data23 ;
        o_data48  <= o_data48  ^ d0_data24 ;
        o_data49  <= o_data49  ^ d0_data25 ;
        o_data50  <= o_data50  ^ d0_data26 ;
        o_data51  <= o_data51  ^ d0_data27 ;
        o_data52  <= o_data52  ^ d0_data28 ;
        o_data53  <= o_data53  ^ d0_data29 ;
        o_data54  <= o_data54  ^ d0_data30 ;
        o_data55  <= o_data55  ^ d0_data31 ;
    end else if(i_cnt == 7'd21) begin
        o_data56  <= o_data56  ^ d0_data0  ;
        o_data57  <= o_data57  ^ d0_data1  ;
        o_data58  <= o_data58  ^ d0_data2  ;
        o_data59  <= o_data59  ^ d0_data3  ;
        o_data60  <= o_data60  ^ d0_data4  ;
        o_data61  <= o_data61  ^ d0_data5  ;
        o_data62  <= o_data62  ^ d0_data6  ;
        o_data63  <= o_data63  ^ d0_data7  ;
        o_data64  <= o_data64  ^ d0_data8  ;
        o_data65  <= o_data65  ^ d0_data9  ;
        o_data66  <= o_data66  ^ d0_data10 ;
        o_data67  <= o_data67  ^ d0_data11 ;
        o_data68  <= o_data68  ^ d0_data12 ;
        o_data69  <= o_data69  ^ d0_data13 ;
        o_data70  <= o_data70  ^ d0_data14 ;
        o_data71  <= o_data71  ^ d0_data15 ;
        o_data72  <= o_data72  ^ d0_data16 ;
        o_data73  <= o_data73  ^ d0_data17 ;
        o_data74  <= o_data74  ^ d0_data18 ;
        o_data75  <= o_data75  ^ d0_data19 ;
        o_data76  <= o_data76  ^ d0_data20 ;
        o_data77  <= o_data77  ^ d0_data21 ;
        o_data78  <= o_data78  ^ d0_data22 ;
        o_data79  <= o_data79  ^ d0_data23 ;
        o_data80  <= o_data80  ^ d0_data24 ;
        o_data81  <= o_data81  ^ d0_data25 ;
        o_data82  <= o_data82  ^ d0_data26 ;
        o_data83  <= o_data83  ^ d0_data27 ;
        o_data84  <= o_data84  ^ d0_data28 ;
        o_data85  <= o_data85  ^ d0_data29 ;
        o_data86  <= o_data86  ^ d0_data30 ;
        o_data87  <= o_data87  ^ d0_data31 ;
    end else if(i_cnt == 7'd22) begin
        o_data88  <= o_data88  ^ d0_data0  ;
        o_data89  <= o_data89  ^ d0_data1  ;
        o_data90  <= o_data90  ^ d0_data2  ;
        o_data91  <= o_data91  ^ d0_data3  ;
        o_data92  <= o_data92  ^ d0_data4  ;
        o_data93  <= o_data93  ^ d0_data5  ;
        o_data94  <= o_data94  ^ d0_data6  ;
        o_data95  <= o_data95  ^ d0_data7  ;
        o_data96  <= o_data96  ^ d0_data8  ;
        o_data97  <= o_data97  ^ d0_data9  ;
        o_data98  <= o_data98  ^ d0_data10 ;
        o_data99  <= o_data99  ^ d0_data11 ;
        o_data100 <= o_data100 ^ d0_data12 ;
        o_data101 <= o_data101 ^ d0_data13 ;
        o_data102 <= o_data102 ^ d0_data14 ;
        o_data103 <= o_data103 ^ d0_data15 ;
        o_data104 <= o_data104 ^ d0_data16 ;
        o_data105 <= o_data105 ^ d0_data17 ;
        o_data106 <= o_data106 ^ d0_data18 ;
        o_data107 <= o_data107 ^ d0_data19 ;
        o_data108 <= o_data108 ^ d0_data20 ;
        o_data109 <= o_data109 ^ d0_data21 ;
        o_data110 <= o_data110 ^ d0_data22 ;
        o_data111 <= o_data111 ^ d0_data23 ;
        o_data112 <= o_data112 ^ d0_data24 ;
        o_data0   <= o_data0   ^ d0_data25 ;
        o_data1   <= o_data1   ^ d0_data26 ;
        o_data2   <= o_data2   ^ d0_data27 ;
        o_data3   <= o_data3   ^ d0_data28 ;
        o_data4   <= o_data4   ^ d0_data29 ;
        o_data5   <= o_data5   ^ d0_data30 ;
        o_data6   <= o_data6   ^ d0_data31 ;
    end else if(i_cnt == 7'd23) begin
        o_data7   <= o_data7   ^ d0_data0  ;
        o_data8   <= o_data8   ^ d0_data1  ;
        o_data9   <= o_data9   ^ d0_data2  ;
        o_data10  <= o_data10  ^ d0_data3  ;
        o_data11  <= o_data11  ^ d0_data4  ;
        o_data12  <= o_data12  ^ d0_data5  ;
        o_data13  <= o_data13  ^ d0_data6  ;
        o_data14  <= o_data14  ^ d0_data7  ;
        o_data15  <= o_data15  ^ d0_data8  ;
        o_data16  <= o_data16  ^ d0_data9  ;
        o_data17  <= o_data17  ^ d0_data10 ;
        o_data18  <= o_data18  ^ d0_data11 ;
        o_data19  <= o_data19  ^ d0_data12 ;
        o_data20  <= o_data20  ^ d0_data13 ;
        o_data21  <= o_data21  ^ d0_data14 ;
        o_data22  <= o_data22  ^ d0_data15 ;
        o_data23  <= o_data23  ^ d0_data16 ;
        o_data24  <= o_data24  ^ d0_data17 ;
        o_data25  <= o_data25  ^ d0_data18 ;
        o_data26  <= o_data26  ^ d0_data19 ;
        o_data27  <= o_data27  ^ d0_data20 ;
        o_data28  <= o_data28  ^ d0_data21 ;
        o_data29  <= o_data29  ^ d0_data22 ;
        o_data30  <= o_data30  ^ d0_data23 ;
        o_data31  <= o_data31  ^ d0_data24 ;
        o_data107 <= o_data107 ^ d0_data25 ;
        o_data108 <= o_data108 ^ d0_data26 ;
        o_data109 <= o_data109 ^ d0_data27 ;
        o_data110 <= o_data110 ^ d0_data28 ;
        o_data111 <= o_data111 ^ d0_data29 ;
        o_data112 <= o_data112 ^ d0_data30 ;
        o_data0   <= o_data0   ^ d0_data31 ;
    end else if(i_cnt == 7'd24) begin
        o_data1   <= o_data1   ^ d0_data0  ;
        o_data2   <= o_data2   ^ d0_data1  ;
        o_data3   <= o_data3   ^ d0_data2  ;
        o_data4   <= o_data4   ^ d0_data3  ;
        o_data5   <= o_data5   ^ d0_data4  ;
        o_data6   <= o_data6   ^ d0_data5  ;
        o_data7   <= o_data7   ^ d0_data6  ;
        o_data8   <= o_data8   ^ d0_data7  ;
        o_data9   <= o_data9   ^ d0_data8  ;
        o_data10  <= o_data10  ^ d0_data9  ;
        o_data11  <= o_data11  ^ d0_data10 ;
        o_data12  <= o_data12  ^ d0_data11 ;
        o_data13  <= o_data13  ^ d0_data12 ;
        o_data14  <= o_data14  ^ d0_data13 ;
        o_data15  <= o_data15  ^ d0_data14 ;
        o_data16  <= o_data16  ^ d0_data15 ;
        o_data17  <= o_data17  ^ d0_data16 ;
        o_data18  <= o_data18  ^ d0_data17 ;
        o_data19  <= o_data19  ^ d0_data18 ;
        o_data20  <= o_data20  ^ d0_data19 ;
        o_data21  <= o_data21  ^ d0_data20 ;
        o_data22  <= o_data22  ^ d0_data21 ;
        o_data23  <= o_data23  ^ d0_data22 ;
        o_data24  <= o_data24  ^ d0_data23 ;
        o_data25  <= o_data25  ^ d0_data24 ;
        o_data26  <= o_data26  ^ d0_data25 ;
        o_data27  <= o_data27  ^ d0_data26 ;
        o_data28  <= o_data28  ^ d0_data27 ;
        o_data29  <= o_data29  ^ d0_data28 ;
        o_data30  <= o_data30  ^ d0_data29 ;
        o_data31  <= o_data31  ^ d0_data30 ;
        o_data32  <= o_data32  ^ d0_data31 ;
    end else if(i_cnt == 7'd25) begin
        o_data33  <= o_data33  ^ d0_data0  ;
        o_data34  <= o_data34  ^ d0_data1  ;
        o_data35  <= o_data35  ^ d0_data2  ;
        o_data36  <= o_data36  ^ d0_data3  ;
        o_data37  <= o_data37  ^ d0_data4  ;
        o_data38  <= o_data38  ^ d0_data5  ;
        o_data39  <= o_data39  ^ d0_data6  ;
        o_data40  <= o_data40  ^ d0_data7  ;
        o_data41  <= o_data41  ^ d0_data8  ;
        o_data42  <= o_data42  ^ d0_data9  ;
        o_data43  <= o_data43  ^ d0_data10 ;
        o_data44  <= o_data44  ^ d0_data11 ;
        o_data45  <= o_data45  ^ d0_data12 ;
        o_data46  <= o_data46  ^ d0_data13 ;
        o_data47  <= o_data47  ^ d0_data14 ;
        o_data48  <= o_data48  ^ d0_data15 ;
        o_data49  <= o_data49  ^ d0_data16 ;
        o_data50  <= o_data50  ^ d0_data17 ;
        o_data51  <= o_data51  ^ d0_data18 ;
        o_data52  <= o_data52  ^ d0_data19 ;
        o_data53  <= o_data53  ^ d0_data20 ;
        o_data54  <= o_data54  ^ d0_data21 ;
        o_data55  <= o_data55  ^ d0_data22 ;
        o_data56  <= o_data56  ^ d0_data23 ;
        o_data57  <= o_data57  ^ d0_data24 ;
        o_data58  <= o_data58  ^ d0_data25 ;
        o_data59  <= o_data59  ^ d0_data26 ;
        o_data60  <= o_data60  ^ d0_data27 ;
        o_data61  <= o_data61  ^ d0_data28 ;
        o_data62  <= o_data62  ^ d0_data29 ;
        o_data63  <= o_data63  ^ d0_data30 ;
        o_data64  <= o_data64  ^ d0_data31 ;
    end else if(i_cnt == 7'd26) begin
        o_data65  <= o_data65  ^ d0_data0  ;
        o_data66  <= o_data66  ^ d0_data1  ;
        o_data67  <= o_data67  ^ d0_data2  ;
        o_data68  <= o_data68  ^ d0_data3  ;
        o_data69  <= o_data69  ^ d0_data4  ;
        o_data70  <= o_data70  ^ d0_data5  ;
        o_data71  <= o_data71  ^ d0_data6  ;
        o_data72  <= o_data72  ^ d0_data7  ;
        o_data73  <= o_data73  ^ d0_data8  ;
        o_data74  <= o_data74  ^ d0_data9  ;
        o_data75  <= o_data75  ^ d0_data10 ;
        o_data76  <= o_data76  ^ d0_data11 ;
        o_data77  <= o_data77  ^ d0_data12 ;
        o_data78  <= o_data78  ^ d0_data13 ;
        o_data79  <= o_data79  ^ d0_data14 ;
        o_data80  <= o_data80  ^ d0_data15 ;
        o_data81  <= o_data81  ^ d0_data16 ;
        o_data82  <= o_data82  ^ d0_data17 ;
        o_data83  <= o_data83  ^ d0_data18 ;
        o_data84  <= o_data84  ^ d0_data19 ;
        o_data85  <= o_data85  ^ d0_data20 ;
        o_data86  <= o_data86  ^ d0_data21 ;
        o_data87  <= o_data87  ^ d0_data22 ;
        o_data88  <= o_data88  ^ d0_data23 ;
        o_data89  <= o_data89  ^ d0_data24 ;
        o_data90  <= o_data90  ^ d0_data25 ;
        o_data91  <= o_data91  ^ d0_data26 ;
        o_data92  <= o_data92  ^ d0_data27 ;
        o_data93  <= o_data93  ^ d0_data28 ;
        o_data94  <= o_data94  ^ d0_data29 ;
        o_data95  <= o_data95  ^ d0_data30 ;
        o_data96  <= o_data96  ^ d0_data31 ;
    end else if(i_cnt == 7'd27) begin
        o_data97  <= o_data97  ^ d0_data0  ;
        o_data98  <= o_data98  ^ d0_data1  ;
        o_data99  <= o_data99  ^ d0_data2  ;
        o_data100 <= o_data100 ^ d0_data3  ;
        o_data101 <= o_data101 ^ d0_data4  ;
        o_data102 <= o_data102 ^ d0_data5  ;
        o_data103 <= o_data103 ^ d0_data6  ;
        o_data104 <= o_data104 ^ d0_data7  ;
        o_data105 <= o_data105 ^ d0_data8  ;
        o_data106 <= o_data106 ^ d0_data9  ;
        o_data31  <= o_data31  ^ d0_data10 ;
        o_data32  <= o_data32  ^ d0_data11 ;
        o_data33  <= o_data33  ^ d0_data12 ;
        o_data34  <= o_data34  ^ d0_data13 ;
        o_data35  <= o_data35  ^ d0_data14 ;
        o_data36  <= o_data36  ^ d0_data15 ;
        o_data37  <= o_data37  ^ d0_data16 ;
        o_data38  <= o_data38  ^ d0_data17 ;
        o_data39  <= o_data39  ^ d0_data18 ;
        o_data40  <= o_data40  ^ d0_data19 ;
        o_data41  <= o_data41  ^ d0_data20 ;
        o_data42  <= o_data42  ^ d0_data21 ;
        o_data43  <= o_data43  ^ d0_data22 ;
        o_data44  <= o_data44  ^ d0_data23 ;
        o_data45  <= o_data45  ^ d0_data24 ;
        o_data46  <= o_data46  ^ d0_data25 ;
        o_data47  <= o_data47  ^ d0_data26 ;
        o_data48  <= o_data48  ^ d0_data27 ;
        o_data49  <= o_data49  ^ d0_data28 ;
        o_data50  <= o_data50  ^ d0_data29 ;
        o_data51  <= o_data51  ^ d0_data30 ;
        o_data52  <= o_data52  ^ d0_data31 ;
    end else if(i_cnt == 7'd28) begin
        o_data53  <= o_data53  ^ d0_data0  ;
        o_data54  <= o_data54  ^ d0_data1  ;
        o_data55  <= o_data55  ^ d0_data2  ;
        o_data56  <= o_data56  ^ d0_data3  ;
        o_data57  <= o_data57  ^ d0_data4  ;
        o_data58  <= o_data58  ^ d0_data5  ;
        o_data59  <= o_data59  ^ d0_data6  ;
        o_data60  <= o_data60  ^ d0_data7  ;
        o_data61  <= o_data61  ^ d0_data8  ;
        o_data62  <= o_data62  ^ d0_data9  ;
        o_data63  <= o_data63  ^ d0_data10 ;
        o_data64  <= o_data64  ^ d0_data11 ;
        o_data65  <= o_data65  ^ d0_data12 ;
        o_data66  <= o_data66  ^ d0_data13 ;
        o_data67  <= o_data67  ^ d0_data14 ;
        o_data68  <= o_data68  ^ d0_data15 ;
        o_data69  <= o_data69  ^ d0_data16 ;
        o_data70  <= o_data70  ^ d0_data17 ;
        o_data71  <= o_data71  ^ d0_data18 ;
        o_data72  <= o_data72  ^ d0_data19 ;
        o_data73  <= o_data73  ^ d0_data20 ;
        o_data74  <= o_data74  ^ d0_data21 ;
        o_data75  <= o_data75  ^ d0_data22 ;
        o_data76  <= o_data76  ^ d0_data23 ;
        o_data77  <= o_data77  ^ d0_data24 ;
        o_data78  <= o_data78  ^ d0_data25 ;
        o_data79  <= o_data79  ^ d0_data26 ;
        o_data80  <= o_data80  ^ d0_data27 ;
        o_data81  <= o_data81  ^ d0_data28 ;
        o_data82  <= o_data82  ^ d0_data29 ;
        o_data83  <= o_data83  ^ d0_data30 ;
        o_data84  <= o_data84  ^ d0_data31 ;
    end else if(i_cnt == 7'd29) begin
        o_data85  <= o_data85  ^ d0_data0  ;
        o_data86  <= o_data86  ^ d0_data1  ;
        o_data87  <= o_data87  ^ d0_data2  ;
        o_data88  <= o_data88  ^ d0_data3  ;
        o_data89  <= o_data89  ^ d0_data4  ;
        o_data90  <= o_data90  ^ d0_data5  ;
        o_data91  <= o_data91  ^ d0_data6  ;
        o_data92  <= o_data92  ^ d0_data7  ;
        o_data93  <= o_data93  ^ d0_data8  ;
        o_data94  <= o_data94  ^ d0_data9  ;
        o_data95  <= o_data95  ^ d0_data10 ;
        o_data96  <= o_data96  ^ d0_data11 ;
        o_data97  <= o_data97  ^ d0_data12 ;
        o_data98  <= o_data98  ^ d0_data13 ;
        o_data99  <= o_data99  ^ d0_data14 ;
        o_data100 <= o_data100 ^ d0_data15 ;
        o_data101 <= o_data101 ^ d0_data16 ;
        o_data102 <= o_data102 ^ d0_data17 ;
        o_data103 <= o_data103 ^ d0_data18 ;
        o_data104 <= o_data104 ^ d0_data19 ;
        o_data105 <= o_data105 ^ d0_data20 ;
        o_data106 <= o_data106 ^ d0_data21 ;
        o_data107 <= o_data107 ^ d0_data22 ;
        o_data108 <= o_data108 ^ d0_data23 ;
        o_data109 <= o_data109 ^ d0_data24 ;
        o_data110 <= o_data110 ^ d0_data25 ;
        o_data111 <= o_data111 ^ d0_data26 ;
        o_data112 <= o_data112 ^ d0_data27 ;
        o_data0   <= o_data0   ^ d0_data28 ;
        o_data1   <= o_data1   ^ d0_data29 ;
        o_data2   <= o_data2   ^ d0_data30 ;
        o_data3   <= o_data3   ^ d0_data31 ;
    end else if(i_cnt == 7'd30) begin
        o_data4   <= o_data4   ^ d0_data0  ;
        o_data5   <= o_data5   ^ d0_data1  ;
        o_data6   <= o_data6   ^ d0_data2  ;
        o_data7   <= o_data7   ^ d0_data3  ;
        o_data8   <= o_data8   ^ d0_data4  ;
        o_data9   <= o_data9   ^ d0_data5  ;
        o_data10  <= o_data10  ^ d0_data6  ;
        o_data11  <= o_data11  ^ d0_data7  ;
        o_data12  <= o_data12  ^ d0_data8  ;
        o_data13  <= o_data13  ^ d0_data9  ;
        o_data14  <= o_data14  ^ d0_data10 ;
        o_data15  <= o_data15  ^ d0_data11 ;
        o_data16  <= o_data16  ^ d0_data12 ;
        o_data17  <= o_data17  ^ d0_data13 ;
        o_data18  <= o_data18  ^ d0_data14 ;
        o_data19  <= o_data19  ^ d0_data15 ;
        o_data20  <= o_data20  ^ d0_data16 ;
        o_data21  <= o_data21  ^ d0_data17 ;
        o_data22  <= o_data22  ^ d0_data18 ;
        o_data23  <= o_data23  ^ d0_data19 ;
        o_data24  <= o_data24  ^ d0_data20 ;
        o_data25  <= o_data25  ^ d0_data21 ;
        o_data26  <= o_data26  ^ d0_data22 ;
        o_data27  <= o_data27  ^ d0_data23 ;
        o_data28  <= o_data28  ^ d0_data24 ;
        o_data29  <= o_data29  ^ d0_data25 ;
        o_data30  <= o_data30  ^ d0_data26 ;
        o_data34  <= o_data34  ^ d0_data27 ;
        o_data35  <= o_data35  ^ d0_data28 ;
        o_data36  <= o_data36  ^ d0_data29 ;
        o_data37  <= o_data37  ^ d0_data30 ;
        o_data38  <= o_data38  ^ d0_data31 ;
    end else if(i_cnt == 7'd31) begin
        o_data39  <= o_data39  ^ d0_data0  ;
        o_data40  <= o_data40  ^ d0_data1  ;
        o_data41  <= o_data41  ^ d0_data2  ;
        o_data42  <= o_data42  ^ d0_data3  ;
        o_data43  <= o_data43  ^ d0_data4  ;
        o_data44  <= o_data44  ^ d0_data5  ;
        o_data45  <= o_data45  ^ d0_data6  ;
        o_data46  <= o_data46  ^ d0_data7  ;
        o_data47  <= o_data47  ^ d0_data8  ;
        o_data48  <= o_data48  ^ d0_data9  ;
        o_data49  <= o_data49  ^ d0_data10 ;
        o_data50  <= o_data50  ^ d0_data11 ;
        o_data51  <= o_data51  ^ d0_data12 ;
        o_data52  <= o_data52  ^ d0_data13 ;
        o_data53  <= o_data53  ^ d0_data14 ;
        o_data54  <= o_data54  ^ d0_data15 ;
        o_data55  <= o_data55  ^ d0_data16 ;
        o_data56  <= o_data56  ^ d0_data17 ;
        o_data57  <= o_data57  ^ d0_data18 ;
        o_data58  <= o_data58  ^ d0_data19 ;
        o_data59  <= o_data59  ^ d0_data20 ;
        o_data60  <= o_data60  ^ d0_data21 ;
        o_data61  <= o_data61  ^ d0_data22 ;
        o_data62  <= o_data62  ^ d0_data23 ;
        o_data63  <= o_data63  ^ d0_data24 ;
        o_data64  <= o_data64  ^ d0_data25 ;
        o_data65  <= o_data65  ^ d0_data26 ;
        o_data66  <= o_data66  ^ d0_data27 ;
        o_data67  <= o_data67  ^ d0_data28 ;
        o_data68  <= o_data68  ^ d0_data29 ;
        o_data69  <= o_data69  ^ d0_data30 ;
        o_data70  <= o_data70  ^ d0_data31 ;
    end else if(i_cnt == 7'd32) begin
        o_data71  <= o_data71  ^ d0_data0  ;
        o_data72  <= o_data72  ^ d0_data1  ;
        o_data73  <= o_data73  ^ d0_data2  ;
        o_data74  <= o_data74  ^ d0_data3  ;
        o_data75  <= o_data75  ^ d0_data4  ;
        o_data76  <= o_data76  ^ d0_data5  ;
        o_data77  <= o_data77  ^ d0_data6  ;
        o_data78  <= o_data78  ^ d0_data7  ;
        o_data79  <= o_data79  ^ d0_data8  ;
        o_data80  <= o_data80  ^ d0_data9  ;
        o_data81  <= o_data81  ^ d0_data10 ;
        o_data82  <= o_data82  ^ d0_data11 ;
        o_data83  <= o_data83  ^ d0_data12 ;
        o_data84  <= o_data84  ^ d0_data13 ;
        o_data85  <= o_data85  ^ d0_data14 ;
        o_data86  <= o_data86  ^ d0_data15 ;
        o_data87  <= o_data87  ^ d0_data16 ;
        o_data88  <= o_data88  ^ d0_data17 ;
        o_data89  <= o_data89  ^ d0_data18 ;
        o_data90  <= o_data90  ^ d0_data19 ;
        o_data91  <= o_data91  ^ d0_data20 ;
        o_data92  <= o_data92  ^ d0_data21 ;
        o_data93  <= o_data93  ^ d0_data22 ;
        o_data94  <= o_data94  ^ d0_data23 ;
        o_data95  <= o_data95  ^ d0_data24 ;
        o_data96  <= o_data96  ^ d0_data25 ;
        o_data97  <= o_data97  ^ d0_data26 ;
        o_data98  <= o_data98  ^ d0_data27 ;
        o_data99  <= o_data99  ^ d0_data28 ;
        o_data100 <= o_data100 ^ d0_data29 ;
        o_data101 <= o_data101 ^ d0_data30 ;
        o_data102 <= o_data102 ^ d0_data31 ;
    end else if(i_cnt == 7'd33) begin
        o_data103 <= o_data103 ^ d0_data0  ;
        o_data104 <= o_data104 ^ d0_data1  ;
        o_data105 <= o_data105 ^ d0_data2  ;
        o_data106 <= o_data106 ^ d0_data3  ;
        o_data107 <= o_data107 ^ d0_data4  ;
        o_data108 <= o_data108 ^ d0_data5  ;
        o_data109 <= o_data109 ^ d0_data6  ;
        o_data110 <= o_data110 ^ d0_data7  ;
        o_data111 <= o_data111 ^ d0_data8  ;
        o_data112 <= o_data112 ^ d0_data9  ;
        o_data0   <= o_data0   ^ d0_data10 ;
        o_data1   <= o_data1   ^ d0_data11 ;
        o_data2   <= o_data2   ^ d0_data12 ;
        o_data3   <= o_data3   ^ d0_data13 ;
        o_data4   <= o_data4   ^ d0_data14 ;
        o_data5   <= o_data5   ^ d0_data15 ;
        o_data6   <= o_data6   ^ d0_data16 ;
        o_data7   <= o_data7   ^ d0_data17 ;
        o_data8   <= o_data8   ^ d0_data18 ;
        o_data9   <= o_data9   ^ d0_data19 ;
        o_data10  <= o_data10  ^ d0_data20 ;
        o_data11  <= o_data11  ^ d0_data21 ;
        o_data12  <= o_data12  ^ d0_data22 ;
        o_data13  <= o_data13  ^ d0_data23 ;
        o_data14  <= o_data14  ^ d0_data24 ;
        o_data15  <= o_data15  ^ d0_data25 ;
        o_data16  <= o_data16  ^ d0_data26 ;
        o_data17  <= o_data17  ^ d0_data27 ;
        o_data18  <= o_data18  ^ d0_data28 ;
        o_data19  <= o_data19  ^ d0_data29 ;
        o_data20  <= o_data20  ^ d0_data30 ;
        o_data21  <= o_data21  ^ d0_data31 ;
    end else if(i_cnt == 7'd34) begin
        o_data22  <= o_data22  ^ d0_data0  ;
        o_data23  <= o_data23  ^ d0_data1  ;
        o_data24  <= o_data24  ^ d0_data2  ;
        o_data25  <= o_data25  ^ d0_data3  ;
        o_data26  <= o_data26  ^ d0_data4  ;
        o_data27  <= o_data27  ^ d0_data5  ;
        o_data28  <= o_data28  ^ d0_data6  ;
        o_data29  <= o_data29  ^ d0_data7  ;
        o_data30  <= o_data30  ^ d0_data8  ;
        o_data31  <= o_data31  ^ d0_data9  ;
        o_data32  <= o_data32  ^ d0_data10 ;
        o_data33  <= o_data33  ^ d0_data11 ;
        o_data89  <= o_data89  ^ d0_data12 ;
        o_data90  <= o_data90  ^ d0_data13 ;
        o_data91  <= o_data91  ^ d0_data14 ;
        o_data92  <= o_data92  ^ d0_data15 ;
        o_data93  <= o_data93  ^ d0_data16 ;
        o_data94  <= o_data94  ^ d0_data17 ;
        o_data95  <= o_data95  ^ d0_data18 ;
        o_data96  <= o_data96  ^ d0_data19 ;
        o_data97  <= o_data97  ^ d0_data20 ;
        o_data98  <= o_data98  ^ d0_data21 ;
        o_data99  <= o_data99  ^ d0_data22 ;
        o_data100 <= o_data100 ^ d0_data23 ;
        o_data101 <= o_data101 ^ d0_data24 ;
        o_data102 <= o_data102 ^ d0_data25 ;
        o_data103 <= o_data103 ^ d0_data26 ;
        o_data104 <= o_data104 ^ d0_data27 ;
        o_data105 <= o_data105 ^ d0_data28 ;
        o_data106 <= o_data106 ^ d0_data29 ;
        o_data107 <= o_data107 ^ d0_data30 ;
        o_data108 <= o_data108 ^ d0_data31 ;
    end else if(i_cnt == 7'd35) begin
        o_data109 <= o_data109 ^ d0_data0  ;
        o_data110 <= o_data110 ^ d0_data1  ;
        o_data111 <= o_data111 ^ d0_data2  ;
        o_data112 <= o_data112 ^ d0_data3  ;
        o_data0   <= o_data0   ^ d0_data4  ;
        o_data1   <= o_data1   ^ d0_data5  ;
        o_data2   <= o_data2   ^ d0_data6  ;
        o_data3   <= o_data3   ^ d0_data7  ;
        o_data4   <= o_data4   ^ d0_data8  ;
        o_data5   <= o_data5   ^ d0_data9  ;
        o_data6   <= o_data6   ^ d0_data10 ;
        o_data7   <= o_data7   ^ d0_data11 ;
        o_data8   <= o_data8   ^ d0_data12 ;
        o_data9   <= o_data9   ^ d0_data13 ;
        o_data10  <= o_data10  ^ d0_data14 ;
        o_data11  <= o_data11  ^ d0_data15 ;
        o_data12  <= o_data12  ^ d0_data16 ;
        o_data13  <= o_data13  ^ d0_data17 ;
        o_data14  <= o_data14  ^ d0_data18 ;
        o_data15  <= o_data15  ^ d0_data19 ;
        o_data16  <= o_data16  ^ d0_data20 ;
        o_data17  <= o_data17  ^ d0_data21 ;
        o_data18  <= o_data18  ^ d0_data22 ;
        o_data19  <= o_data19  ^ d0_data23 ;
        o_data20  <= o_data20  ^ d0_data24 ;
        o_data21  <= o_data21  ^ d0_data25 ;
        o_data22  <= o_data22  ^ d0_data26 ;
        o_data23  <= o_data23  ^ d0_data27 ;
        o_data24  <= o_data24  ^ d0_data28 ;
        o_data25  <= o_data25  ^ d0_data29 ;
        o_data26  <= o_data26  ^ d0_data30 ;
        o_data27  <= o_data27  ^ d0_data31 ;
    end else if(i_cnt == 7'd36) begin
        o_data28  <= o_data28  ^ d0_data0  ;
        o_data29  <= o_data29  ^ d0_data1  ;
        o_data30  <= o_data30  ^ d0_data2  ;
        o_data31  <= o_data31  ^ d0_data3  ;
        o_data32  <= o_data32  ^ d0_data4  ;
        o_data33  <= o_data33  ^ d0_data5  ;
        o_data34  <= o_data34  ^ d0_data6  ;
        o_data35  <= o_data35  ^ d0_data7  ;
        o_data36  <= o_data36  ^ d0_data8  ;
        o_data37  <= o_data37  ^ d0_data9  ;
        o_data38  <= o_data38  ^ d0_data10 ;
        o_data39  <= o_data39  ^ d0_data11 ;
        o_data40  <= o_data40  ^ d0_data12 ;
        o_data41  <= o_data41  ^ d0_data13 ;
        o_data42  <= o_data42  ^ d0_data14 ;
        o_data43  <= o_data43  ^ d0_data15 ;
        o_data44  <= o_data44  ^ d0_data16 ;
        o_data45  <= o_data45  ^ d0_data17 ;
        o_data46  <= o_data46  ^ d0_data18 ;
        o_data47  <= o_data47  ^ d0_data19 ;
        o_data48  <= o_data48  ^ d0_data20 ;
        o_data49  <= o_data49  ^ d0_data21 ;
        o_data50  <= o_data50  ^ d0_data22 ;
        o_data51  <= o_data51  ^ d0_data23 ;
        o_data52  <= o_data52  ^ d0_data24 ;
        o_data53  <= o_data53  ^ d0_data25 ;
        o_data54  <= o_data54  ^ d0_data26 ;
        o_data55  <= o_data55  ^ d0_data27 ;
        o_data56  <= o_data56  ^ d0_data28 ;
        o_data57  <= o_data57  ^ d0_data29 ;
        o_data58  <= o_data58  ^ d0_data30 ;
        o_data59  <= o_data59  ^ d0_data31 ;
    end else if(i_cnt == 7'd37) begin
        o_data60  <= o_data60  ^ d0_data0  ;
        o_data61  <= o_data61  ^ d0_data1  ;
        o_data62  <= o_data62  ^ d0_data2  ;
        o_data63  <= o_data63  ^ d0_data3  ;
        o_data64  <= o_data64  ^ d0_data4  ;
        o_data65  <= o_data65  ^ d0_data5  ;
        o_data66  <= o_data66  ^ d0_data6  ;
        o_data67  <= o_data67  ^ d0_data7  ;
        o_data68  <= o_data68  ^ d0_data8  ;
        o_data69  <= o_data69  ^ d0_data9  ;
        o_data70  <= o_data70  ^ d0_data10 ;
        o_data71  <= o_data71  ^ d0_data11 ;
        o_data72  <= o_data72  ^ d0_data12 ;
        o_data73  <= o_data73  ^ d0_data13 ;
        o_data74  <= o_data74  ^ d0_data14 ;
        o_data75  <= o_data75  ^ d0_data15 ;
        o_data76  <= o_data76  ^ d0_data16 ;
        o_data77  <= o_data77  ^ d0_data17 ;
        o_data78  <= o_data78  ^ d0_data18 ;
        o_data79  <= o_data79  ^ d0_data19 ;
        o_data80  <= o_data80  ^ d0_data20 ;
        o_data81  <= o_data81  ^ d0_data21 ;
        o_data82  <= o_data82  ^ d0_data22 ;
        o_data83  <= o_data83  ^ d0_data23 ;
        o_data84  <= o_data84  ^ d0_data24 ;
        o_data85  <= o_data85  ^ d0_data25 ;
        o_data86  <= o_data86  ^ d0_data26 ;
        o_data87  <= o_data87  ^ d0_data27 ;
        o_data88  <= o_data88  ^ d0_data28 ;
        o_data22  <= o_data22  ^ d0_data29 ;
        o_data23  <= o_data23  ^ d0_data30 ;
        o_data24  <= o_data24  ^ d0_data31 ;
    end else if(i_cnt == 7'd38) begin
        o_data25  <= o_data25  ^ d0_data0  ;
        o_data26  <= o_data26  ^ d0_data1  ;
        o_data27  <= o_data27  ^ d0_data2  ;
        o_data28  <= o_data28  ^ d0_data3  ;
        o_data29  <= o_data29  ^ d0_data4  ;
        o_data30  <= o_data30  ^ d0_data5  ;
        o_data31  <= o_data31  ^ d0_data6  ;
        o_data32  <= o_data32  ^ d0_data7  ;
        o_data33  <= o_data33  ^ d0_data8  ;
        o_data34  <= o_data34  ^ d0_data9  ;
        o_data35  <= o_data35  ^ d0_data10 ;
        o_data36  <= o_data36  ^ d0_data11 ;
        o_data37  <= o_data37  ^ d0_data12 ;
        o_data38  <= o_data38  ^ d0_data13 ;
        o_data39  <= o_data39  ^ d0_data14 ;
        o_data40  <= o_data40  ^ d0_data15 ;
        o_data41  <= o_data41  ^ d0_data16 ;
        o_data42  <= o_data42  ^ d0_data17 ;
        o_data43  <= o_data43  ^ d0_data18 ;
        o_data44  <= o_data44  ^ d0_data19 ;
        o_data45  <= o_data45  ^ d0_data20 ;
        o_data46  <= o_data46  ^ d0_data21 ;
        o_data47  <= o_data47  ^ d0_data22 ;
        o_data48  <= o_data48  ^ d0_data23 ;
        o_data49  <= o_data49  ^ d0_data24 ;
        o_data50  <= o_data50  ^ d0_data25 ;
        o_data51  <= o_data51  ^ d0_data26 ;
        o_data52  <= o_data52  ^ d0_data27 ;
        o_data53  <= o_data53  ^ d0_data28 ;
        o_data54  <= o_data54  ^ d0_data29 ;
        o_data55  <= o_data55  ^ d0_data30 ;
        o_data56  <= o_data56  ^ d0_data31 ;
    end else if(i_cnt == 7'd39) begin
        o_data57  <= o_data57  ^ d0_data0  ;
        o_data58  <= o_data58  ^ d0_data1  ;
        o_data59  <= o_data59  ^ d0_data2  ;
        o_data60  <= o_data60  ^ d0_data3  ;
        o_data61  <= o_data61  ^ d0_data4  ;
        o_data62  <= o_data62  ^ d0_data5  ;
        o_data63  <= o_data63  ^ d0_data6  ;
        o_data64  <= o_data64  ^ d0_data7  ;
        o_data65  <= o_data65  ^ d0_data8  ;
        o_data66  <= o_data66  ^ d0_data9  ;
        o_data67  <= o_data67  ^ d0_data10 ;
        o_data68  <= o_data68  ^ d0_data11 ;
        o_data69  <= o_data69  ^ d0_data12 ;
        o_data70  <= o_data70  ^ d0_data13 ;
        o_data71  <= o_data71  ^ d0_data14 ;
        o_data72  <= o_data72  ^ d0_data15 ;
        o_data73  <= o_data73  ^ d0_data16 ;
        o_data74  <= o_data74  ^ d0_data17 ;
        o_data75  <= o_data75  ^ d0_data18 ;
        o_data76  <= o_data76  ^ d0_data19 ;
        o_data77  <= o_data77  ^ d0_data20 ;
        o_data78  <= o_data78  ^ d0_data21 ;
        o_data79  <= o_data79  ^ d0_data22 ;
        o_data80  <= o_data80  ^ d0_data23 ;
        o_data81  <= o_data81  ^ d0_data24 ;
        o_data82  <= o_data82  ^ d0_data25 ;
        o_data83  <= o_data83  ^ d0_data26 ;
        o_data84  <= o_data84  ^ d0_data27 ;
        o_data85  <= o_data85  ^ d0_data28 ;
        o_data86  <= o_data86  ^ d0_data29 ;
        o_data87  <= o_data87  ^ d0_data30 ;
        o_data88  <= o_data88  ^ d0_data31 ;
    end else if(i_cnt == 7'd40) begin
        o_data89  <= o_data89  ^ d0_data0  ;
        o_data90  <= o_data90  ^ d0_data1  ;
        o_data91  <= o_data91  ^ d0_data2  ;
        o_data92  <= o_data92  ^ d0_data3  ;
        o_data93  <= o_data93  ^ d0_data4  ;
        o_data94  <= o_data94  ^ d0_data5  ;
        o_data95  <= o_data95  ^ d0_data6  ;
        o_data96  <= o_data96  ^ d0_data7  ;
        o_data97  <= o_data97  ^ d0_data8  ;
        o_data98  <= o_data98  ^ d0_data9  ;
        o_data99  <= o_data99  ^ d0_data10 ;
        o_data100 <= o_data100 ^ d0_data11 ;
        o_data101 <= o_data101 ^ d0_data12 ;
        o_data102 <= o_data102 ^ d0_data13 ;
        o_data103 <= o_data103 ^ d0_data14 ;
        o_data104 <= o_data104 ^ d0_data15 ;
        o_data105 <= o_data105 ^ d0_data16 ;
        o_data106 <= o_data106 ^ d0_data17 ;
        o_data107 <= o_data107 ^ d0_data18 ;
        o_data108 <= o_data108 ^ d0_data19 ;
        o_data109 <= o_data109 ^ d0_data20 ;
        o_data110 <= o_data110 ^ d0_data21 ;
        o_data111 <= o_data111 ^ d0_data22 ;
        o_data112 <= o_data112 ^ d0_data23 ;
        o_data0   <= o_data0   ^ d0_data24 ;
        o_data1   <= o_data1   ^ d0_data25 ;
        o_data2   <= o_data2   ^ d0_data26 ;
        o_data3   <= o_data3   ^ d0_data27 ;
        o_data4   <= o_data4   ^ d0_data28 ;
        o_data5   <= o_data5   ^ d0_data29 ;
        o_data6   <= o_data6   ^ d0_data30 ;
        o_data7   <= o_data7   ^ d0_data31 ;
    end else if(i_cnt == 7'd41) begin
        o_data8   <= o_data8   ^ d0_data0  ;
        o_data9   <= o_data9   ^ d0_data1  ;
        o_data10  <= o_data10  ^ d0_data2  ;
        o_data11  <= o_data11  ^ d0_data3  ;
        o_data12  <= o_data12  ^ d0_data4  ;
        o_data13  <= o_data13  ^ d0_data5  ;
        o_data14  <= o_data14  ^ d0_data6  ;
        o_data15  <= o_data15  ^ d0_data7  ;
        o_data16  <= o_data16  ^ d0_data8  ;
        o_data17  <= o_data17  ^ d0_data9  ;
        o_data18  <= o_data18  ^ d0_data10 ;
        o_data19  <= o_data19  ^ d0_data11 ;
        o_data20  <= o_data20  ^ d0_data12 ;
        o_data21  <= o_data21  ^ d0_data13 ;
        o_data72  <= o_data72  ^ d0_data14 ;
        o_data73  <= o_data73  ^ d0_data15 ;
        o_data74  <= o_data74  ^ d0_data16 ;
        o_data75  <= o_data75  ^ d0_data17 ;
        o_data76  <= o_data76  ^ d0_data18 ;
        o_data77  <= o_data77  ^ d0_data19 ;
        o_data78  <= o_data78  ^ d0_data20 ;
        o_data79  <= o_data79  ^ d0_data21 ;
        o_data80  <= o_data80  ^ d0_data22 ;
        o_data81  <= o_data81  ^ d0_data23 ;
        o_data82  <= o_data82  ^ d0_data24 ;
        o_data83  <= o_data83  ^ d0_data25 ;
        o_data84  <= o_data84  ^ d0_data26 ;
        o_data85  <= o_data85  ^ d0_data27 ;
        o_data86  <= o_data86  ^ d0_data28 ;
        o_data87  <= o_data87  ^ d0_data29 ;
        o_data88  <= o_data88  ^ d0_data30 ;
        o_data89  <= o_data89  ^ d0_data31 ;
    end else if(i_cnt == 7'd42) begin
        o_data90  <= o_data90  ^ d0_data0  ;
        o_data91  <= o_data91  ^ d0_data1  ;
        o_data92  <= o_data92  ^ d0_data2  ;
        o_data93  <= o_data93  ^ d0_data3  ;
        o_data94  <= o_data94  ^ d0_data4  ;
        o_data95  <= o_data95  ^ d0_data5  ;
        o_data96  <= o_data96  ^ d0_data6  ;
        o_data97  <= o_data97  ^ d0_data7  ;
        o_data98  <= o_data98  ^ d0_data8  ;
        o_data99  <= o_data99  ^ d0_data9  ;
        o_data100 <= o_data100 ^ d0_data10 ;
        o_data101 <= o_data101 ^ d0_data11 ;
        o_data102 <= o_data102 ^ d0_data12 ;
        o_data103 <= o_data103 ^ d0_data13 ;
        o_data104 <= o_data104 ^ d0_data14 ;
        o_data105 <= o_data105 ^ d0_data15 ;
        o_data106 <= o_data106 ^ d0_data16 ;
        o_data107 <= o_data107 ^ d0_data17 ;
        o_data108 <= o_data108 ^ d0_data18 ;
        o_data109 <= o_data109 ^ d0_data19 ;
        o_data110 <= o_data110 ^ d0_data20 ;
        o_data111 <= o_data111 ^ d0_data21 ;
        o_data112 <= o_data112 ^ d0_data22 ;
        o_data0   <= o_data0   ^ d0_data23 ;
        o_data1   <= o_data1   ^ d0_data24 ;
        o_data2   <= o_data2   ^ d0_data25 ;
        o_data3   <= o_data3   ^ d0_data26 ;
        o_data4   <= o_data4   ^ d0_data27 ;
        o_data5   <= o_data5   ^ d0_data28 ;
        o_data6   <= o_data6   ^ d0_data29 ;
        o_data7   <= o_data7   ^ d0_data30 ;
        o_data8   <= o_data8   ^ d0_data31 ;
    end else if(i_cnt == 7'd43) begin
        o_data9   <= o_data9   ^ d0_data0  ;
        o_data10  <= o_data10  ^ d0_data1  ;
        o_data11  <= o_data11  ^ d0_data2  ;
        o_data12  <= o_data12  ^ d0_data3  ;
        o_data13  <= o_data13  ^ d0_data4  ;
        o_data14  <= o_data14  ^ d0_data5  ;
        o_data15  <= o_data15  ^ d0_data6  ;
        o_data16  <= o_data16  ^ d0_data7  ;
        o_data17  <= o_data17  ^ d0_data8  ;
        o_data18  <= o_data18  ^ d0_data9  ;
        o_data19  <= o_data19  ^ d0_data10 ;
        o_data20  <= o_data20  ^ d0_data11 ;
        o_data21  <= o_data21  ^ d0_data12 ;
        o_data22  <= o_data22  ^ d0_data13 ;
        o_data23  <= o_data23  ^ d0_data14 ;
        o_data24  <= o_data24  ^ d0_data15 ;
        o_data25  <= o_data25  ^ d0_data16 ;
        o_data26  <= o_data26  ^ d0_data17 ;
        o_data27  <= o_data27  ^ d0_data18 ;
        o_data28  <= o_data28  ^ d0_data19 ;
        o_data29  <= o_data29  ^ d0_data20 ;
        o_data30  <= o_data30  ^ d0_data21 ;
        o_data31  <= o_data31  ^ d0_data22 ;
        o_data32  <= o_data32  ^ d0_data23 ;
        o_data33  <= o_data33  ^ d0_data24 ;
        o_data34  <= o_data34  ^ d0_data25 ;
        o_data35  <= o_data35  ^ d0_data26 ;
        o_data36  <= o_data36  ^ d0_data27 ;
        o_data37  <= o_data37  ^ d0_data28 ;
        o_data38  <= o_data38  ^ d0_data29 ;
        o_data39  <= o_data39  ^ d0_data30 ;
        o_data40  <= o_data40  ^ d0_data31 ;
    end else if(i_cnt == 7'd44) begin
        o_data41  <= o_data41  ^ d0_data0  ;
        o_data42  <= o_data42  ^ d0_data1  ;
        o_data43  <= o_data43  ^ d0_data2  ;
        o_data44  <= o_data44  ^ d0_data3  ;
        o_data45  <= o_data45  ^ d0_data4  ;
        o_data46  <= o_data46  ^ d0_data5  ;
        o_data47  <= o_data47  ^ d0_data6  ;
        o_data48  <= o_data48  ^ d0_data7  ;
        o_data49  <= o_data49  ^ d0_data8  ;
        o_data50  <= o_data50  ^ d0_data9  ;
        o_data51  <= o_data51  ^ d0_data10 ;
        o_data52  <= o_data52  ^ d0_data11 ;
        o_data53  <= o_data53  ^ d0_data12 ;
        o_data54  <= o_data54  ^ d0_data13 ;
        o_data55  <= o_data55  ^ d0_data14 ;
        o_data56  <= o_data56  ^ d0_data15 ;
        o_data57  <= o_data57  ^ d0_data16 ;
        o_data58  <= o_data58  ^ d0_data17 ;
        o_data59  <= o_data59  ^ d0_data18 ;
        o_data60  <= o_data60  ^ d0_data19 ;
        o_data61  <= o_data61  ^ d0_data20 ;
        o_data62  <= o_data62  ^ d0_data21 ;
        o_data63  <= o_data63  ^ d0_data22 ;
        o_data64  <= o_data64  ^ d0_data23 ;
        o_data65  <= o_data65  ^ d0_data24 ;
        o_data66  <= o_data66  ^ d0_data25 ;
        o_data67  <= o_data67  ^ d0_data26 ;
        o_data68  <= o_data68  ^ d0_data27 ;
        o_data69  <= o_data69  ^ d0_data28 ;
        o_data70  <= o_data70  ^ d0_data29 ;
        o_data71  <= o_data71  ^ d0_data30 ;
        o_data59  <= o_data59  ^ d0_data31 ;
    end else if(i_cnt == 7'd45) begin
        o_data60  <= o_data60  ^ d0_data0  ;
        o_data61  <= o_data61  ^ d0_data1  ;
        o_data62  <= o_data62  ^ d0_data2  ;
        o_data63  <= o_data63  ^ d0_data3  ;
        o_data64  <= o_data64  ^ d0_data4  ;
        o_data65  <= o_data65  ^ d0_data5  ;
        o_data66  <= o_data66  ^ d0_data6  ;
        o_data67  <= o_data67  ^ d0_data7  ;
        o_data68  <= o_data68  ^ d0_data8  ;
        o_data69  <= o_data69  ^ d0_data9  ;
        o_data70  <= o_data70  ^ d0_data10 ;
        o_data71  <= o_data71  ^ d0_data11 ;
        o_data72  <= o_data72  ^ d0_data12 ;
        o_data73  <= o_data73  ^ d0_data13 ;
        o_data74  <= o_data74  ^ d0_data14 ;
        o_data75  <= o_data75  ^ d0_data15 ;
        o_data76  <= o_data76  ^ d0_data16 ;
        o_data77  <= o_data77  ^ d0_data17 ;
        o_data78  <= o_data78  ^ d0_data18 ;
        o_data79  <= o_data79  ^ d0_data19 ;
        o_data80  <= o_data80  ^ d0_data20 ;
        o_data81  <= o_data81  ^ d0_data21 ;
        o_data82  <= o_data82  ^ d0_data22 ;
        o_data83  <= o_data83  ^ d0_data23 ;
        o_data84  <= o_data84  ^ d0_data24 ;
        o_data85  <= o_data85  ^ d0_data25 ;
        o_data86  <= o_data86  ^ d0_data26 ;
        o_data87  <= o_data87  ^ d0_data27 ;
        o_data88  <= o_data88  ^ d0_data28 ;
        o_data89  <= o_data89  ^ d0_data29 ;
        o_data90  <= o_data90  ^ d0_data30 ;
        o_data91  <= o_data91  ^ d0_data31 ;
    end else if(i_cnt == 7'd46) begin
        o_data92  <= o_data92  ^ d0_data0  ;
        o_data93  <= o_data93  ^ d0_data1  ;
        o_data94  <= o_data94  ^ d0_data2  ;
        o_data95  <= o_data95  ^ d0_data3  ;
        o_data96  <= o_data96  ^ d0_data4  ;
        o_data97  <= o_data97  ^ d0_data5  ;
        o_data98  <= o_data98  ^ d0_data6  ;
        o_data99  <= o_data99  ^ d0_data7  ;
        o_data100 <= o_data100 ^ d0_data8  ;
        o_data101 <= o_data101 ^ d0_data9  ;
        o_data102 <= o_data102 ^ d0_data10 ;
        o_data103 <= o_data103 ^ d0_data11 ;
        o_data104 <= o_data104 ^ d0_data12 ;
        o_data105 <= o_data105 ^ d0_data13 ;
        o_data106 <= o_data106 ^ d0_data14 ;
        o_data107 <= o_data107 ^ d0_data15 ;
        o_data108 <= o_data108 ^ d0_data16 ;
        o_data109 <= o_data109 ^ d0_data17 ;
        o_data110 <= o_data110 ^ d0_data18 ;
        o_data111 <= o_data111 ^ d0_data19 ;
        o_data112 <= o_data112 ^ d0_data20 ;
        o_data0   <= o_data0   ^ d0_data21 ;
        o_data1   <= o_data1   ^ d0_data22 ;
        o_data2   <= o_data2   ^ d0_data23 ;
        o_data3   <= o_data3   ^ d0_data24 ;
        o_data4   <= o_data4   ^ d0_data25 ;
        o_data5   <= o_data5   ^ d0_data26 ;
        o_data6   <= o_data6   ^ d0_data27 ;
        o_data7   <= o_data7   ^ d0_data28 ;
        o_data8   <= o_data8   ^ d0_data29 ;
        o_data9   <= o_data9   ^ d0_data30 ;
        o_data10  <= o_data10  ^ d0_data31 ;
    end else if(i_cnt == 7'd47) begin
        o_data11  <= o_data11  ^ d0_data0  ;
        o_data12  <= o_data12  ^ d0_data1  ;
        o_data13  <= o_data13  ^ d0_data2  ;
        o_data14  <= o_data14  ^ d0_data3  ;
        o_data15  <= o_data15  ^ d0_data4  ;
        o_data16  <= o_data16  ^ d0_data5  ;
        o_data17  <= o_data17  ^ d0_data6  ;
        o_data18  <= o_data18  ^ d0_data7  ;
        o_data19  <= o_data19  ^ d0_data8  ;
        o_data20  <= o_data20  ^ d0_data9  ;
        o_data21  <= o_data21  ^ d0_data10 ;
        o_data22  <= o_data22  ^ d0_data11 ;
        o_data23  <= o_data23  ^ d0_data12 ;
        o_data24  <= o_data24  ^ d0_data13 ;
        o_data25  <= o_data25  ^ d0_data14 ;
        o_data26  <= o_data26  ^ d0_data15 ;
        o_data27  <= o_data27  ^ d0_data16 ;
        o_data28  <= o_data28  ^ d0_data17 ;
        o_data29  <= o_data29  ^ d0_data18 ;
        o_data30  <= o_data30  ^ d0_data19 ;
        o_data31  <= o_data31  ^ d0_data20 ;
        o_data32  <= o_data32  ^ d0_data21 ;
        o_data33  <= o_data33  ^ d0_data22 ;
        o_data34  <= o_data34  ^ d0_data23 ;
        o_data35  <= o_data35  ^ d0_data24 ;
        o_data36  <= o_data36  ^ d0_data25 ;
        o_data37  <= o_data37  ^ d0_data26 ;
        o_data38  <= o_data38  ^ d0_data27 ;
        o_data39  <= o_data39  ^ d0_data28 ;
        o_data40  <= o_data40  ^ d0_data29 ;
        o_data41  <= o_data41  ^ d0_data30 ;
        o_data42  <= o_data42  ^ d0_data31 ;
    end else if(i_cnt == 7'd48) begin
        o_data43  <= o_data43  ^ d0_data0  ;
        o_data44  <= o_data44  ^ d0_data1  ;
        o_data45  <= o_data45  ^ d0_data2  ;
        o_data46  <= o_data46  ^ d0_data3  ;
        o_data47  <= o_data47  ^ d0_data4  ;
        o_data48  <= o_data48  ^ d0_data5  ;
        o_data49  <= o_data49  ^ d0_data6  ;
        o_data50  <= o_data50  ^ d0_data7  ;
        o_data51  <= o_data51  ^ d0_data8  ;
        o_data52  <= o_data52  ^ d0_data9  ;
        o_data53  <= o_data53  ^ d0_data10 ;
        o_data54  <= o_data54  ^ d0_data11 ;
        o_data55  <= o_data55  ^ d0_data12 ;
        o_data56  <= o_data56  ^ d0_data13 ;
        o_data57  <= o_data57  ^ d0_data14 ;
        o_data58  <= o_data58  ^ d0_data15 ;
        o_data59  <= o_data59  ^ d0_data16 ;
        o_data60  <= o_data60  ^ d0_data17 ;
        o_data61  <= o_data61  ^ d0_data18 ;
        o_data62  <= o_data62  ^ d0_data19 ;
        o_data63  <= o_data63  ^ d0_data20 ;
        o_data64  <= o_data64  ^ d0_data21 ;
        o_data65  <= o_data65  ^ d0_data22 ;
        o_data66  <= o_data66  ^ d0_data23 ;
        o_data67  <= o_data67  ^ d0_data24 ;
        o_data68  <= o_data68  ^ d0_data25 ;
        o_data69  <= o_data69  ^ d0_data26 ;
        o_data70  <= o_data70  ^ d0_data27 ;
        o_data71  <= o_data71  ^ d0_data28 ;
        o_data72  <= o_data72  ^ d0_data29 ;
        o_data73  <= o_data73  ^ d0_data30 ;
        o_data74  <= o_data74  ^ d0_data31 ;
    end else if(i_cnt == 7'd49) begin
        o_data75  <= o_data75  ^ d0_data0  ;
        o_data76  <= o_data76  ^ d0_data1  ;
        o_data77  <= o_data77  ^ d0_data2  ;
        o_data78  <= o_data78  ^ d0_data3  ;
        o_data79  <= o_data79  ^ d0_data4  ;
        o_data80  <= o_data80  ^ d0_data5  ;
        o_data81  <= o_data81  ^ d0_data6  ;
        o_data82  <= o_data82  ^ d0_data7  ;
        o_data83  <= o_data83  ^ d0_data8  ;
        o_data84  <= o_data84  ^ d0_data9  ;
        o_data85  <= o_data85  ^ d0_data10 ;
        o_data86  <= o_data86  ^ d0_data11 ;
        o_data87  <= o_data87  ^ d0_data12 ;
        o_data88  <= o_data88  ^ d0_data13 ;
        o_data89  <= o_data89  ^ d0_data14 ;
        o_data90  <= o_data90  ^ d0_data15 ;
        o_data91  <= o_data91  ^ d0_data16 ;
        o_data92  <= o_data92  ^ d0_data17 ;
        o_data93  <= o_data93  ^ d0_data18 ;
        o_data94  <= o_data94  ^ d0_data19 ;
        o_data95  <= o_data95  ^ d0_data20 ;
        o_data96  <= o_data96  ^ d0_data21 ;
        o_data97  <= o_data97  ^ d0_data22 ;
        o_data98  <= o_data98  ^ d0_data23 ;
        o_data99  <= o_data99  ^ d0_data24 ;
        o_data100 <= o_data100 ^ d0_data25 ;
        o_data101 <= o_data101 ^ d0_data26 ;
        o_data102 <= o_data102 ^ d0_data27 ;
        o_data103 <= o_data103 ^ d0_data28 ;
        o_data104 <= o_data104 ^ d0_data29 ;
        o_data105 <= o_data105 ^ d0_data30 ;
        o_data106 <= o_data106 ^ d0_data31 ;
    end else if(i_cnt == 7'd50) begin
        o_data107 <= o_data107 ^ d0_data0  ;
        o_data108 <= o_data108 ^ d0_data1  ;
        o_data109 <= o_data109 ^ d0_data2  ;
        o_data110 <= o_data110 ^ d0_data3  ;
        o_data111 <= o_data111 ^ d0_data4  ;
        o_data112 <= o_data112 ^ d0_data5  ;
        o_data0   <= o_data0   ^ d0_data6  ;
        o_data1   <= o_data1   ^ d0_data7  ;
        o_data2   <= o_data2   ^ d0_data8  ;
        o_data3   <= o_data3   ^ d0_data9  ;
        o_data4   <= o_data4   ^ d0_data10 ;
        o_data5   <= o_data5   ^ d0_data11 ;
        o_data6   <= o_data6   ^ d0_data12 ;
        o_data7   <= o_data7   ^ d0_data13 ;
        o_data8   <= o_data8   ^ d0_data14 ;
        o_data9   <= o_data9   ^ d0_data15 ;
        o_data10  <= o_data10  ^ d0_data16 ;
        o_data11  <= o_data11  ^ d0_data17 ;
        o_data12  <= o_data12  ^ d0_data18 ;
        o_data13  <= o_data13  ^ d0_data19 ;
        o_data14  <= o_data14  ^ d0_data20 ;
        o_data15  <= o_data15  ^ d0_data21 ;
        o_data16  <= o_data16  ^ d0_data22 ;
        o_data17  <= o_data17  ^ d0_data23 ;
        o_data18  <= o_data18  ^ d0_data24 ;
        o_data19  <= o_data19  ^ d0_data25 ;
        o_data20  <= o_data20  ^ d0_data26 ;
        o_data21  <= o_data21  ^ d0_data27 ;
        o_data22  <= o_data22  ^ d0_data28 ;
        o_data23  <= o_data23  ^ d0_data29 ;
        o_data24  <= o_data24  ^ d0_data30 ;
        o_data25  <= o_data25  ^ d0_data31 ;
    end else if(i_cnt == 7'd51) begin
        o_data26  <= o_data26  ^ d0_data0  ;
        o_data27  <= o_data27  ^ d0_data1  ;
        o_data28  <= o_data28  ^ d0_data2  ;
        o_data29  <= o_data29  ^ d0_data3  ;
        o_data30  <= o_data30  ^ d0_data4  ;
        o_data31  <= o_data31  ^ d0_data5  ;
        o_data32  <= o_data32  ^ d0_data6  ;
        o_data33  <= o_data33  ^ d0_data7  ;
        o_data34  <= o_data34  ^ d0_data8  ;
        o_data35  <= o_data35  ^ d0_data9  ;
        o_data36  <= o_data36  ^ d0_data10 ;
        o_data37  <= o_data37  ^ d0_data11 ;
        o_data38  <= o_data38  ^ d0_data12 ;
        o_data39  <= o_data39  ^ d0_data13 ;
        o_data40  <= o_data40  ^ d0_data14 ;
        o_data41  <= o_data41  ^ d0_data15 ;
        o_data42  <= o_data42  ^ d0_data16 ;
        o_data43  <= o_data43  ^ d0_data17 ;
        o_data44  <= o_data44  ^ d0_data18 ;
        o_data45  <= o_data45  ^ d0_data19 ;
        o_data46  <= o_data46  ^ d0_data20 ;
        o_data47  <= o_data47  ^ d0_data21 ;
        o_data48  <= o_data48  ^ d0_data22 ;
        o_data49  <= o_data49  ^ d0_data23 ;
        o_data50  <= o_data50  ^ d0_data24 ;
        o_data51  <= o_data51  ^ d0_data25 ;
        o_data52  <= o_data52  ^ d0_data26 ;
        o_data53  <= o_data53  ^ d0_data27 ;
        o_data54  <= o_data54  ^ d0_data28 ;
        o_data55  <= o_data55  ^ d0_data29 ;
        o_data56  <= o_data56  ^ d0_data30 ;
        o_data57  <= o_data57  ^ d0_data31 ;
    end else if(i_cnt == 7'd52) begin
        o_data58  <= o_data58  ^ d0_data0  ;
        o_data51  <= o_data51  ^ d0_data1  ;
        o_data52  <= o_data52  ^ d0_data2  ;
        o_data53  <= o_data53  ^ d0_data3  ;
        o_data54  <= o_data54  ^ d0_data4  ;
        o_data55  <= o_data55  ^ d0_data5  ;
        o_data56  <= o_data56  ^ d0_data6  ;
        o_data57  <= o_data57  ^ d0_data7  ;
        o_data58  <= o_data58  ^ d0_data8  ;
        o_data59  <= o_data59  ^ d0_data9  ;
        o_data60  <= o_data60  ^ d0_data10 ;
        o_data61  <= o_data61  ^ d0_data11 ;
        o_data62  <= o_data62  ^ d0_data12 ;
        o_data63  <= o_data63  ^ d0_data13 ;
        o_data64  <= o_data64  ^ d0_data14 ;
        o_data65  <= o_data65  ^ d0_data15 ;
        o_data66  <= o_data66  ^ d0_data16 ;
        o_data67  <= o_data67  ^ d0_data17 ;
        o_data68  <= o_data68  ^ d0_data18 ;
        o_data69  <= o_data69  ^ d0_data19 ;
        o_data70  <= o_data70  ^ d0_data20 ;
        o_data71  <= o_data71  ^ d0_data21 ;
        o_data72  <= o_data72  ^ d0_data22 ;
        o_data73  <= o_data73  ^ d0_data23 ;
        o_data74  <= o_data74  ^ d0_data24 ;
        o_data75  <= o_data75  ^ d0_data25 ;
        o_data76  <= o_data76  ^ d0_data26 ;
        o_data77  <= o_data77  ^ d0_data27 ;
        o_data78  <= o_data78  ^ d0_data28 ;
        o_data79  <= o_data79  ^ d0_data29 ;
        o_data80  <= o_data80  ^ d0_data30 ;
        o_data81  <= o_data81  ^ d0_data31 ;
    end else if(i_cnt == 7'd53) begin
        o_data82  <= o_data82  ^ d0_data0  ;
        o_data83  <= o_data83  ^ d0_data1  ;
        o_data84  <= o_data84  ^ d0_data2  ;
        o_data85  <= o_data85  ^ d0_data3  ;
        o_data86  <= o_data86  ^ d0_data4  ;
        o_data87  <= o_data87  ^ d0_data5  ;
        o_data88  <= o_data88  ^ d0_data6  ;
        o_data89  <= o_data89  ^ d0_data7  ;
        o_data90  <= o_data90  ^ d0_data8  ;
        o_data91  <= o_data91  ^ d0_data9  ;
        o_data92  <= o_data92  ^ d0_data10 ;
        o_data93  <= o_data93  ^ d0_data11 ;
        o_data94  <= o_data94  ^ d0_data12 ;
        o_data95  <= o_data95  ^ d0_data13 ;
        o_data96  <= o_data96  ^ d0_data14 ;
        o_data97  <= o_data97  ^ d0_data15 ;
        o_data98  <= o_data98  ^ d0_data16 ;
        o_data99  <= o_data99  ^ d0_data17 ;
        o_data100 <= o_data100 ^ d0_data18 ;
        o_data101 <= o_data101 ^ d0_data19 ;
        o_data102 <= o_data102 ^ d0_data20 ;
        o_data103 <= o_data103 ^ d0_data21 ;
        o_data104 <= o_data104 ^ d0_data22 ;
        o_data105 <= o_data105 ^ d0_data23 ;
        o_data106 <= o_data106 ^ d0_data24 ;
        o_data107 <= o_data107 ^ d0_data25 ;
        o_data108 <= o_data108 ^ d0_data26 ;
        o_data109 <= o_data109 ^ d0_data27 ;
        o_data110 <= o_data110 ^ d0_data28 ;
        o_data111 <= o_data111 ^ d0_data29 ;
        o_data112 <= o_data112 ^ d0_data30 ;
        o_data0   <= o_data0   ^ d0_data31 ;
    end else if(i_cnt == 7'd54) begin
        o_data1   <= o_data1   ^ d0_data0  ;
        o_data2   <= o_data2   ^ d0_data1  ;
        o_data3   <= o_data3   ^ d0_data2  ;
        o_data4   <= o_data4   ^ d0_data3  ;
        o_data5   <= o_data5   ^ d0_data4  ;
        o_data6   <= o_data6   ^ d0_data5  ;
        o_data7   <= o_data7   ^ d0_data6  ;
        o_data8   <= o_data8   ^ d0_data7  ;
        o_data9   <= o_data9   ^ d0_data8  ;
        o_data10  <= o_data10  ^ d0_data9  ;
        o_data11  <= o_data11  ^ d0_data10 ;
        o_data12  <= o_data12  ^ d0_data11 ;
        o_data13  <= o_data13  ^ d0_data12 ;
        o_data14  <= o_data14  ^ d0_data13 ;
        o_data15  <= o_data15  ^ d0_data14 ;
        o_data16  <= o_data16  ^ d0_data15 ;
        o_data17  <= o_data17  ^ d0_data16 ;
        o_data18  <= o_data18  ^ d0_data17 ;
        o_data19  <= o_data19  ^ d0_data18 ;
        o_data20  <= o_data20  ^ d0_data19 ;
        o_data21  <= o_data21  ^ d0_data20 ;
        o_data22  <= o_data22  ^ d0_data21 ;
        o_data23  <= o_data23  ^ d0_data22 ;
        o_data24  <= o_data24  ^ d0_data23 ;
        o_data25  <= o_data25  ^ d0_data24 ;
        o_data26  <= o_data26  ^ d0_data25 ;
        o_data27  <= o_data27  ^ d0_data26 ;
        o_data28  <= o_data28  ^ d0_data27 ;
        o_data29  <= o_data29  ^ d0_data28 ;
        o_data30  <= o_data30  ^ d0_data29 ;
        o_data31  <= o_data31  ^ d0_data30 ;
        o_data32  <= o_data32  ^ d0_data31 ;
    end else if(i_cnt == 7'd55) begin
        o_data33  <= o_data33  ^ d0_data0  ;
        o_data34  <= o_data34  ^ d0_data1  ;
        o_data35  <= o_data35  ^ d0_data2  ;
        o_data36  <= o_data36  ^ d0_data3  ;
        o_data37  <= o_data37  ^ d0_data4  ;
        o_data38  <= o_data38  ^ d0_data5  ;
        o_data39  <= o_data39  ^ d0_data6  ;
        o_data40  <= o_data40  ^ d0_data7  ;
        o_data41  <= o_data41  ^ d0_data8  ;
        o_data42  <= o_data42  ^ d0_data9  ;
        o_data43  <= o_data43  ^ d0_data10 ;
        o_data44  <= o_data44  ^ d0_data11 ;
        o_data45  <= o_data45  ^ d0_data12 ;
        o_data46  <= o_data46  ^ d0_data13 ;
        o_data47  <= o_data47  ^ d0_data14 ;
        o_data48  <= o_data48  ^ d0_data15 ;
        o_data49  <= o_data49  ^ d0_data16 ;
        o_data50  <= o_data50  ^ d0_data17 ;
        o_data66  <= o_data66  ^ d0_data18 ;
        o_data67  <= o_data67  ^ d0_data19 ;
        o_data68  <= o_data68  ^ d0_data20 ;
        o_data69  <= o_data69  ^ d0_data21 ;
        o_data70  <= o_data70  ^ d0_data22 ;
        o_data71  <= o_data71  ^ d0_data23 ;
        o_data72  <= o_data72  ^ d0_data24 ;
        o_data73  <= o_data73  ^ d0_data25 ;
        o_data74  <= o_data74  ^ d0_data26 ;
        o_data75  <= o_data75  ^ d0_data27 ;
        o_data76  <= o_data76  ^ d0_data28 ;
        o_data77  <= o_data77  ^ d0_data29 ;
        o_data78  <= o_data78  ^ d0_data30 ;
        o_data79  <= o_data79  ^ d0_data31 ;
    end else if(i_cnt == 7'd56) begin
        o_data80  <= o_data80  ^ d0_data0  ;
        o_data81  <= o_data81  ^ d0_data1  ;
        o_data82  <= o_data82  ^ d0_data2  ;
        o_data83  <= o_data83  ^ d0_data3  ;
        o_data84  <= o_data84  ^ d0_data4  ;
        o_data85  <= o_data85  ^ d0_data5  ;
        o_data86  <= o_data86  ^ d0_data6  ;
        o_data87  <= o_data87  ^ d0_data7  ;
        o_data88  <= o_data88  ^ d0_data8  ;
        o_data89  <= o_data89  ^ d0_data9  ;
        o_data90  <= o_data90  ^ d0_data10 ;
        o_data91  <= o_data91  ^ d0_data11 ;
        o_data92  <= o_data92  ^ d0_data12 ;
        o_data93  <= o_data93  ^ d0_data13 ;
        o_data94  <= o_data94  ^ d0_data14 ;
        o_data95  <= o_data95  ^ d0_data15 ;
        o_data96  <= o_data96  ^ d0_data16 ;
        o_data97  <= o_data97  ^ d0_data17 ;
        o_data98  <= o_data98  ^ d0_data18 ;
        o_data99  <= o_data99  ^ d0_data19 ;
        o_data100 <= o_data100 ^ d0_data20 ;
        o_data101 <= o_data101 ^ d0_data21 ;
        o_data102 <= o_data102 ^ d0_data22 ;
        o_data103 <= o_data103 ^ d0_data23 ;
        o_data104 <= o_data104 ^ d0_data24 ;
        o_data105 <= o_data105 ^ d0_data25 ;
        o_data106 <= o_data106 ^ d0_data26 ;
        o_data107 <= o_data107 ^ d0_data27 ;
        o_data108 <= o_data108 ^ d0_data28 ;
        o_data109 <= o_data109 ^ d0_data29 ;
        o_data110 <= o_data110 ^ d0_data30 ;
        o_data111 <= o_data111 ^ d0_data31 ;
    end else if(i_cnt == 7'd57) begin
        o_data112 <= o_data112 ^ d0_data0  ;
        o_data0   <= o_data0   ^ d0_data1  ;
        o_data1   <= o_data1   ^ d0_data2  ;
        o_data2   <= o_data2   ^ d0_data3  ;
        o_data3   <= o_data3   ^ d0_data4  ;
        o_data4   <= o_data4   ^ d0_data5  ;
        o_data5   <= o_data5   ^ d0_data6  ;
        o_data6   <= o_data6   ^ d0_data7  ;
        o_data7   <= o_data7   ^ d0_data8  ;
        o_data8   <= o_data8   ^ d0_data9  ;
        o_data9   <= o_data9   ^ d0_data10 ;
        o_data10  <= o_data10  ^ d0_data11 ;
        o_data11  <= o_data11  ^ d0_data12 ;
        o_data12  <= o_data12  ^ d0_data13 ;
        o_data13  <= o_data13  ^ d0_data14 ;
        o_data14  <= o_data14  ^ d0_data15 ;
        o_data15  <= o_data15  ^ d0_data16 ;
        o_data16  <= o_data16  ^ d0_data17 ;
        o_data17  <= o_data17  ^ d0_data18 ;
        o_data18  <= o_data18  ^ d0_data19 ;
        o_data19  <= o_data19  ^ d0_data20 ;
        o_data20  <= o_data20  ^ d0_data21 ;
        o_data21  <= o_data21  ^ d0_data22 ;
        o_data22  <= o_data22  ^ d0_data23 ;
        o_data23  <= o_data23  ^ d0_data24 ;
        o_data24  <= o_data24  ^ d0_data25 ;
        o_data25  <= o_data25  ^ d0_data26 ;
        o_data26  <= o_data26  ^ d0_data27 ;
        o_data27  <= o_data27  ^ d0_data28 ;
        o_data28  <= o_data28  ^ d0_data29 ;
        o_data29  <= o_data29  ^ d0_data30 ;
        o_data30  <= o_data30  ^ d0_data31 ;
    end else if(i_cnt == 7'd58) begin
        o_data31  <= o_data31  ^ d0_data0  ;
        o_data32  <= o_data32  ^ d0_data1  ;
        o_data33  <= o_data33  ^ d0_data2  ;
        o_data34  <= o_data34  ^ d0_data3  ;
        o_data35  <= o_data35  ^ d0_data4  ;
        o_data36  <= o_data36  ^ d0_data5  ;
        o_data37  <= o_data37  ^ d0_data6  ;
        o_data38  <= o_data38  ^ d0_data7  ;
        o_data39  <= o_data39  ^ d0_data8  ;
        o_data40  <= o_data40  ^ d0_data9  ;
        o_data41  <= o_data41  ^ d0_data10 ;
        o_data42  <= o_data42  ^ d0_data11 ;
        o_data43  <= o_data43  ^ d0_data12 ;
        o_data44  <= o_data44  ^ d0_data13 ;
        o_data45  <= o_data45  ^ d0_data14 ;
        o_data46  <= o_data46  ^ d0_data15 ;
        o_data47  <= o_data47  ^ d0_data16 ;
        o_data48  <= o_data48  ^ d0_data17 ;
        o_data49  <= o_data49  ^ d0_data18 ;
        o_data50  <= o_data50  ^ d0_data19 ;
        o_data51  <= o_data51  ^ d0_data20 ;
        o_data52  <= o_data52  ^ d0_data21 ;
        o_data53  <= o_data53  ^ d0_data22 ;
        o_data54  <= o_data54  ^ d0_data23 ;
        o_data55  <= o_data55  ^ d0_data24 ;
        o_data56  <= o_data56  ^ d0_data25 ;
        o_data57  <= o_data57  ^ d0_data26 ;
        o_data58  <= o_data58  ^ d0_data27 ;
        o_data59  <= o_data59  ^ d0_data28 ;
        o_data60  <= o_data60  ^ d0_data29 ;
        o_data61  <= o_data61  ^ d0_data30 ;
        o_data62  <= o_data62  ^ d0_data31 ;
    end else if(i_cnt == 7'd59) begin
        o_data63  <= o_data63  ^ d0_data0  ;
        o_data64  <= o_data64  ^ d0_data1  ;
        o_data65  <= o_data65  ^ d0_data2  ;
        o_data35  <= o_data35  ^ d0_data3  ;
        o_data36  <= o_data36  ^ d0_data4  ;
        o_data37  <= o_data37  ^ d0_data5  ;
        o_data38  <= o_data38  ^ d0_data6  ;
        o_data39  <= o_data39  ^ d0_data7  ;
        o_data40  <= o_data40  ^ d0_data8  ;
        o_data41  <= o_data41  ^ d0_data9  ;
        o_data42  <= o_data42  ^ d0_data10 ;
        o_data43  <= o_data43  ^ d0_data11 ;
        o_data44  <= o_data44  ^ d0_data12 ;
        o_data45  <= o_data45  ^ d0_data13 ;
        o_data46  <= o_data46  ^ d0_data14 ;
        o_data47  <= o_data47  ^ d0_data15 ;
        o_data48  <= o_data48  ^ d0_data16 ;
        o_data49  <= o_data49  ^ d0_data17 ;
        o_data50  <= o_data50  ^ d0_data18 ;
        o_data51  <= o_data51  ^ d0_data19 ;
        o_data52  <= o_data52  ^ d0_data20 ;
        o_data53  <= o_data53  ^ d0_data21 ;
        o_data54  <= o_data54  ^ d0_data22 ;
        o_data55  <= o_data55  ^ d0_data23 ;
        o_data56  <= o_data56  ^ d0_data24 ;
        o_data57  <= o_data57  ^ d0_data25 ;
        o_data58  <= o_data58  ^ d0_data26 ;
        o_data59  <= o_data59  ^ d0_data27 ;
        o_data60  <= o_data60  ^ d0_data28 ;
        o_data61  <= o_data61  ^ d0_data29 ;
        o_data62  <= o_data62  ^ d0_data30 ;
        o_data63  <= o_data63  ^ d0_data31 ;
    end else if(i_cnt == 7'd60) begin
        o_data64  <= o_data64  ^ d0_data0  ;
        o_data65  <= o_data65  ^ d0_data1  ;
        o_data66  <= o_data66  ^ d0_data2  ;
        o_data67  <= o_data67  ^ d0_data3  ;
        o_data68  <= o_data68  ^ d0_data4  ;
        o_data69  <= o_data69  ^ d0_data5  ;
        o_data70  <= o_data70  ^ d0_data6  ;
        o_data71  <= o_data71  ^ d0_data7  ;
        o_data72  <= o_data72  ^ d0_data8  ;
        o_data73  <= o_data73  ^ d0_data9  ;
        o_data74  <= o_data74  ^ d0_data10 ;
        o_data75  <= o_data75  ^ d0_data11 ;
        o_data76  <= o_data76  ^ d0_data12 ;
        o_data77  <= o_data77  ^ d0_data13 ;
        o_data78  <= o_data78  ^ d0_data14 ;
        o_data79  <= o_data79  ^ d0_data15 ;
        o_data80  <= o_data80  ^ d0_data16 ;
        o_data81  <= o_data81  ^ d0_data17 ;
        o_data82  <= o_data82  ^ d0_data18 ;
        o_data83  <= o_data83  ^ d0_data19 ;
        o_data84  <= o_data84  ^ d0_data20 ;
        o_data85  <= o_data85  ^ d0_data21 ;
        o_data86  <= o_data86  ^ d0_data22 ;
        o_data87  <= o_data87  ^ d0_data23 ;
        o_data88  <= o_data88  ^ d0_data24 ;
        o_data89  <= o_data89  ^ d0_data25 ;
        o_data90  <= o_data90  ^ d0_data26 ;
        o_data91  <= o_data91  ^ d0_data27 ;
        o_data92  <= o_data92  ^ d0_data28 ;
        o_data93  <= o_data93  ^ d0_data29 ;
        o_data94  <= o_data94  ^ d0_data30 ;
        o_data95  <= o_data95  ^ d0_data31 ;
    end else if(i_cnt == 7'd61) begin
        o_data96  <= o_data96  ^ d0_data0  ;
        o_data97  <= o_data97  ^ d0_data1  ;
        o_data98  <= o_data98  ^ d0_data2  ;
        o_data99  <= o_data99  ^ d0_data3  ;
        o_data100 <= o_data100 ^ d0_data4  ;
        o_data101 <= o_data101 ^ d0_data5  ;
        o_data102 <= o_data102 ^ d0_data6  ;
        o_data103 <= o_data103 ^ d0_data7  ;
        o_data104 <= o_data104 ^ d0_data8  ;
        o_data105 <= o_data105 ^ d0_data9  ;
        o_data106 <= o_data106 ^ d0_data10 ;
        o_data107 <= o_data107 ^ d0_data11 ;
        o_data108 <= o_data108 ^ d0_data12 ;
        o_data109 <= o_data109 ^ d0_data13 ;
        o_data110 <= o_data110 ^ d0_data14 ;
        o_data111 <= o_data111 ^ d0_data15 ;
        o_data112 <= o_data112 ^ d0_data16 ;
        o_data0   <= o_data0   ^ d0_data17 ;
        o_data1   <= o_data1   ^ d0_data18 ;
        o_data2   <= o_data2   ^ d0_data19 ;
        o_data3   <= o_data3   ^ d0_data20 ;
        o_data4   <= o_data4   ^ d0_data21 ;
        o_data5   <= o_data5   ^ d0_data22 ;
        o_data6   <= o_data6   ^ d0_data23 ;
        o_data7   <= o_data7   ^ d0_data24 ;
        o_data8   <= o_data8   ^ d0_data25 ;
        o_data9   <= o_data9   ^ d0_data26 ;
        o_data10  <= o_data10  ^ d0_data27 ;
        o_data11  <= o_data11  ^ d0_data28 ;
        o_data12  <= o_data12  ^ d0_data29 ;
        o_data13  <= o_data13  ^ d0_data30 ;
        o_data14  <= o_data14  ^ d0_data31 ;
    end else if(i_cnt == 7'd62) begin
        o_data15  <= o_data15  ^ d0_data0  ;
        o_data16  <= o_data16  ^ d0_data1  ;
        o_data17  <= o_data17  ^ d0_data2  ;
        o_data18  <= o_data18  ^ d0_data3  ;
        o_data19  <= o_data19  ^ d0_data4  ;
        o_data20  <= o_data20  ^ d0_data5  ;
        o_data21  <= o_data21  ^ d0_data6  ;
        o_data22  <= o_data22  ^ d0_data7  ;
        o_data23  <= o_data23  ^ d0_data8  ;
        o_data24  <= o_data24  ^ d0_data9  ;
        o_data25  <= o_data25  ^ d0_data10 ;
        o_data26  <= o_data26  ^ d0_data11 ;
        o_data27  <= o_data27  ^ d0_data12 ;
        o_data28  <= o_data28  ^ d0_data13 ;
        o_data29  <= o_data29  ^ d0_data14 ;
        o_data30  <= o_data30  ^ d0_data15 ;
        o_data31  <= o_data31  ^ d0_data16 ;
        o_data32  <= o_data32  ^ d0_data17 ;
        o_data33  <= o_data33  ^ d0_data18 ;
        o_data34  <= o_data34  ^ d0_data19 ;
        o_data53  <= o_data53  ^ d0_data20 ;
        o_data54  <= o_data54  ^ d0_data21 ;
        o_data55  <= o_data55  ^ d0_data22 ;
        o_data56  <= o_data56  ^ d0_data23 ;
        o_data57  <= o_data57  ^ d0_data24 ;
        o_data58  <= o_data58  ^ d0_data25 ;
        o_data59  <= o_data59  ^ d0_data26 ;
        o_data60  <= o_data60  ^ d0_data27 ;
        o_data61  <= o_data61  ^ d0_data28 ;
        o_data62  <= o_data62  ^ d0_data29 ;
        o_data63  <= o_data63  ^ d0_data30 ;
        o_data64  <= o_data64  ^ d0_data31 ;
    end else if(i_cnt == 7'd63) begin
        o_data65  <= o_data65  ^ d0_data0  ;
        o_data66  <= o_data66  ^ d0_data1  ;
        o_data67  <= o_data67  ^ d0_data2  ;
        o_data68  <= o_data68  ^ d0_data3  ;
        o_data69  <= o_data69  ^ d0_data4  ;
        o_data70  <= o_data70  ^ d0_data5  ;
        o_data71  <= o_data71  ^ d0_data6  ;
        o_data72  <= o_data72  ^ d0_data7  ;
        o_data73  <= o_data73  ^ d0_data8  ;
        o_data74  <= o_data74  ^ d0_data9  ;
        o_data75  <= o_data75  ^ d0_data10 ;
        o_data76  <= o_data76  ^ d0_data11 ;
        o_data77  <= o_data77  ^ d0_data12 ;
        o_data78  <= o_data78  ^ d0_data13 ;
        o_data79  <= o_data79  ^ d0_data14 ;
        o_data80  <= o_data80  ^ d0_data15 ;
        o_data81  <= o_data81  ^ d0_data16 ;
        o_data82  <= o_data82  ^ d0_data17 ;
        o_data83  <= o_data83  ^ d0_data18 ;
        o_data84  <= o_data84  ^ d0_data19 ;
        o_data85  <= o_data85  ^ d0_data20 ;
        o_data86  <= o_data86  ^ d0_data21 ;
        o_data87  <= o_data87  ^ d0_data22 ;
        o_data88  <= o_data88  ^ d0_data23 ;
        o_data89  <= o_data89  ^ d0_data24 ;
        o_data90  <= o_data90  ^ d0_data25 ;
        o_data91  <= o_data91  ^ d0_data26 ;
        o_data92  <= o_data92  ^ d0_data27 ;
        o_data93  <= o_data93  ^ d0_data28 ;
        o_data94  <= o_data94  ^ d0_data29 ;
        o_data95  <= o_data95  ^ d0_data30 ;
        o_data96  <= o_data96  ^ d0_data31 ;
    end else if(i_cnt == 7'd64) begin
        o_data97  <= o_data97  ^ d0_data0  ;
        o_data98  <= o_data98  ^ d0_data1  ;
        o_data99  <= o_data99  ^ d0_data2  ;
        o_data100 <= o_data100 ^ d0_data3  ;
        o_data101 <= o_data101 ^ d0_data4  ;
        o_data102 <= o_data102 ^ d0_data5  ;
        o_data103 <= o_data103 ^ d0_data6  ;
        o_data104 <= o_data104 ^ d0_data7  ;
        o_data105 <= o_data105 ^ d0_data8  ;
        o_data106 <= o_data106 ^ d0_data9  ;
        o_data107 <= o_data107 ^ d0_data10 ;
        o_data108 <= o_data108 ^ d0_data11 ;
        o_data109 <= o_data109 ^ d0_data12 ;
        o_data110 <= o_data110 ^ d0_data13 ;
        o_data111 <= o_data111 ^ d0_data14 ;
        o_data112 <= o_data112 ^ d0_data15 ;
        o_data0   <= o_data0   ^ d0_data16 ;
        o_data1   <= o_data1   ^ d0_data17 ;
        o_data2   <= o_data2   ^ d0_data18 ;
        o_data3   <= o_data3   ^ d0_data19 ;
        o_data4   <= o_data4   ^ d0_data20 ;
        o_data5   <= o_data5   ^ d0_data21 ;
        o_data6   <= o_data6   ^ d0_data22 ;
        o_data7   <= o_data7   ^ d0_data23 ;
        o_data8   <= o_data8   ^ d0_data24 ;
        o_data9   <= o_data9   ^ d0_data25 ;
        o_data10  <= o_data10  ^ d0_data26 ;
        o_data11  <= o_data11  ^ d0_data27 ;
        o_data12  <= o_data12  ^ d0_data28 ;
        o_data13  <= o_data13  ^ d0_data29 ;
        o_data14  <= o_data14  ^ d0_data30 ;
        o_data15  <= o_data15  ^ d0_data31 ;
    end else if(i_cnt == 7'd65) begin
        o_data16  <= o_data16  ^ d0_data0  ;
        o_data17  <= o_data17  ^ d0_data1  ;
        o_data18  <= o_data18  ^ d0_data2  ;
        o_data19  <= o_data19  ^ d0_data3  ;
        o_data20  <= o_data20  ^ d0_data4  ;
        o_data21  <= o_data21  ^ d0_data5  ;
        o_data22  <= o_data22  ^ d0_data6  ;
        o_data23  <= o_data23  ^ d0_data7  ;
        o_data24  <= o_data24  ^ d0_data8  ;
        o_data25  <= o_data25  ^ d0_data9  ;
        o_data26  <= o_data26  ^ d0_data10 ;
        o_data27  <= o_data27  ^ d0_data11 ;
        o_data28  <= o_data28  ^ d0_data12 ;
        o_data29  <= o_data29  ^ d0_data13 ;
        o_data30  <= o_data30  ^ d0_data14 ;
        o_data31  <= o_data31  ^ d0_data15 ;
        o_data32  <= o_data32  ^ d0_data16 ;
        o_data33  <= o_data33  ^ d0_data17 ;
        o_data34  <= o_data34  ^ d0_data18 ;
        o_data35  <= o_data35  ^ d0_data19 ;
        o_data36  <= o_data36  ^ d0_data20 ;
        o_data37  <= o_data37  ^ d0_data21 ;
        o_data38  <= o_data38  ^ d0_data22 ;
        o_data39  <= o_data39  ^ d0_data23 ;
        o_data40  <= o_data40  ^ d0_data24 ;
        o_data41  <= o_data41  ^ d0_data25 ;
        o_data42  <= o_data42  ^ d0_data26 ;
        o_data43  <= o_data43  ^ d0_data27 ;
        o_data44  <= o_data44  ^ d0_data28 ;
        o_data45  <= o_data45  ^ d0_data29 ;
        o_data46  <= o_data46  ^ d0_data30 ;
        o_data47  <= o_data47  ^ d0_data31 ;
    end else if(i_cnt == 7'd66) begin
        o_data48  <= o_data48  ^ d0_data0  ;
        o_data49  <= o_data49  ^ d0_data1  ;
        o_data50  <= o_data50  ^ d0_data2  ;
        o_data51  <= o_data51  ^ d0_data3  ;
        o_data52  <= o_data52  ^ d0_data4  ;
        o_data46  <= o_data46  ^ d0_data5  ;
        o_data47  <= o_data47  ^ d0_data6  ;
        o_data48  <= o_data48  ^ d0_data7  ;
        o_data49  <= o_data49  ^ d0_data8  ;
        o_data50  <= o_data50  ^ d0_data9  ;
        o_data51  <= o_data51  ^ d0_data10 ;
        o_data52  <= o_data52  ^ d0_data11 ;
        o_data53  <= o_data53  ^ d0_data12 ;
        o_data54  <= o_data54  ^ d0_data13 ;
        o_data55  <= o_data55  ^ d0_data14 ;
        o_data56  <= o_data56  ^ d0_data15 ;
        o_data57  <= o_data57  ^ d0_data16 ;
        o_data58  <= o_data58  ^ d0_data17 ;
        o_data59  <= o_data59  ^ d0_data18 ;
        o_data60  <= o_data60  ^ d0_data19 ;
        o_data61  <= o_data61  ^ d0_data20 ;
        o_data62  <= o_data62  ^ d0_data21 ;
        o_data63  <= o_data63  ^ d0_data22 ;
        o_data64  <= o_data64  ^ d0_data23 ;
        o_data65  <= o_data65  ^ d0_data24 ;
        o_data66  <= o_data66  ^ d0_data25 ;
        o_data67  <= o_data67  ^ d0_data26 ;
        o_data68  <= o_data68  ^ d0_data27 ;
        o_data69  <= o_data69  ^ d0_data28 ;
        o_data70  <= o_data70  ^ d0_data29 ;
        o_data71  <= o_data71  ^ d0_data30 ;
        o_data72  <= o_data72  ^ d0_data31 ;
    end else if(i_cnt == 7'd67) begin
        o_data73  <= o_data73  ^ d0_data0  ;
        o_data74  <= o_data74  ^ d0_data1  ;
        o_data75  <= o_data75  ^ d0_data2  ;
        o_data76  <= o_data76  ^ d0_data3  ;
        o_data77  <= o_data77  ^ d0_data4  ;
        o_data78  <= o_data78  ^ d0_data5  ;
        o_data79  <= o_data79  ^ d0_data6  ;
        o_data80  <= o_data80  ^ d0_data7  ;
        o_data81  <= o_data81  ^ d0_data8  ;
        o_data82  <= o_data82  ^ d0_data9  ;
        o_data83  <= o_data83  ^ d0_data10 ;
        o_data84  <= o_data84  ^ d0_data11 ;
        o_data85  <= o_data85  ^ d0_data12 ;
        o_data86  <= o_data86  ^ d0_data13 ;
        o_data87  <= o_data87  ^ d0_data14 ;
        o_data88  <= o_data88  ^ d0_data15 ;
        o_data89  <= o_data89  ^ d0_data16 ;
        o_data90  <= o_data90  ^ d0_data17 ;
        o_data91  <= o_data91  ^ d0_data18 ;
        o_data92  <= o_data92  ^ d0_data19 ;
        o_data93  <= o_data93  ^ d0_data20 ;
        o_data94  <= o_data94  ^ d0_data21 ;
        o_data95  <= o_data95  ^ d0_data22 ;
        o_data96  <= o_data96  ^ d0_data23 ;
        o_data97  <= o_data97  ^ d0_data24 ;
        o_data98  <= o_data98  ^ d0_data25 ;
        o_data99  <= o_data99  ^ d0_data26 ;
        o_data100 <= o_data100 ^ d0_data27 ;
        o_data101 <= o_data101 ^ d0_data28 ;
        o_data102 <= o_data102 ^ d0_data29 ;
        o_data103 <= o_data103 ^ d0_data30 ;
        o_data104 <= o_data104 ^ d0_data31 ;
    end else if(i_cnt == 7'd68) begin
        o_data105 <= o_data105 ^ d0_data0  ;
        o_data106 <= o_data106 ^ d0_data1  ;
        o_data107 <= o_data107 ^ d0_data2  ;
        o_data108 <= o_data108 ^ d0_data3  ;
        o_data109 <= o_data109 ^ d0_data4  ;
        o_data110 <= o_data110 ^ d0_data5  ;
        o_data111 <= o_data111 ^ d0_data6  ;
        o_data112 <= o_data112 ^ d0_data7  ;
        o_data0   <= o_data0   ^ d0_data8  ;
        o_data1   <= o_data1   ^ d0_data9  ;
        o_data2   <= o_data2   ^ d0_data10 ;
        o_data3   <= o_data3   ^ d0_data11 ;
        o_data4   <= o_data4   ^ d0_data12 ;
        o_data5   <= o_data5   ^ d0_data13 ;
        o_data6   <= o_data6   ^ d0_data14 ;
        o_data7   <= o_data7   ^ d0_data15 ;
        o_data8   <= o_data8   ^ d0_data16 ;
        o_data9   <= o_data9   ^ d0_data17 ;
        o_data10  <= o_data10  ^ d0_data18 ;
        o_data11  <= o_data11  ^ d0_data19 ;
        o_data12  <= o_data12  ^ d0_data20 ;
        o_data13  <= o_data13  ^ d0_data21 ;
        o_data14  <= o_data14  ^ d0_data22 ;
        o_data15  <= o_data15  ^ d0_data23 ;
        o_data16  <= o_data16  ^ d0_data24 ;
        o_data17  <= o_data17  ^ d0_data25 ;
        o_data18  <= o_data18  ^ d0_data26 ;
        o_data19  <= o_data19  ^ d0_data27 ;
        o_data20  <= o_data20  ^ d0_data28 ;
        o_data21  <= o_data21  ^ d0_data29 ;
        o_data22  <= o_data22  ^ d0_data30 ;
        o_data23  <= o_data23  ^ d0_data31 ;
    end else if(i_cnt == 7'd69) begin
        o_data24  <= o_data24  ^ d0_data0  ;
        o_data25  <= o_data25  ^ d0_data1  ;
        o_data26  <= o_data26  ^ d0_data2  ;
        o_data27  <= o_data27  ^ d0_data3  ;
        o_data28  <= o_data28  ^ d0_data4  ;
        o_data29  <= o_data29  ^ d0_data5  ;
        o_data30  <= o_data30  ^ d0_data6  ;
        o_data31  <= o_data31  ^ d0_data7  ;
        o_data32  <= o_data32  ^ d0_data8  ;
        o_data33  <= o_data33  ^ d0_data9  ;
        o_data34  <= o_data34  ^ d0_data10 ;
        o_data35  <= o_data35  ^ d0_data11 ;
        o_data36  <= o_data36  ^ d0_data12 ;
        o_data37  <= o_data37  ^ d0_data13 ;
        o_data38  <= o_data38  ^ d0_data14 ;
        o_data39  <= o_data39  ^ d0_data15 ;
        o_data40  <= o_data40  ^ d0_data16 ;
        o_data41  <= o_data41  ^ d0_data17 ;
        o_data42  <= o_data42  ^ d0_data18 ;
        o_data43  <= o_data43  ^ d0_data19 ;
        o_data44  <= o_data44  ^ d0_data20 ;
        o_data45  <= o_data45  ^ d0_data21 ;
        o_data62  <= o_data62  ^ d0_data22 ;
        o_data63  <= o_data63  ^ d0_data23 ;
        o_data64  <= o_data64  ^ d0_data24 ;
        o_data65  <= o_data65  ^ d0_data25 ;
        o_data66  <= o_data66  ^ d0_data26 ;
        o_data67  <= o_data67  ^ d0_data27 ;
        o_data68  <= o_data68  ^ d0_data28 ;
        o_data69  <= o_data69  ^ d0_data29 ;
        o_data70  <= o_data70  ^ d0_data30 ;
        o_data71  <= o_data71  ^ d0_data31 ;
    end else if(i_cnt == 7'd70) begin
        o_data72  <= o_data72  ^ d0_data0  ;
        o_data73  <= o_data73  ^ d0_data1  ;
        o_data74  <= o_data74  ^ d0_data2  ;
        o_data75  <= o_data75  ^ d0_data3  ;
        o_data76  <= o_data76  ^ d0_data4  ;
        o_data77  <= o_data77  ^ d0_data5  ;
        o_data78  <= o_data78  ^ d0_data6  ;
        o_data79  <= o_data79  ^ d0_data7  ;
        o_data80  <= o_data80  ^ d0_data8  ;
        o_data81  <= o_data81  ^ d0_data9  ;
        o_data82  <= o_data82  ^ d0_data10 ;
        o_data83  <= o_data83  ^ d0_data11 ;
        o_data84  <= o_data84  ^ d0_data12 ;
        o_data85  <= o_data85  ^ d0_data13 ;
        o_data86  <= o_data86  ^ d0_data14 ;
        o_data87  <= o_data87  ^ d0_data15 ;
        o_data88  <= o_data88  ^ d0_data16 ;
        o_data89  <= o_data89  ^ d0_data17 ;
        o_data90  <= o_data90  ^ d0_data18 ;
        o_data91  <= o_data91  ^ d0_data19 ;
        o_data92  <= o_data92  ^ d0_data20 ;
        o_data93  <= o_data93  ^ d0_data21 ;
        o_data94  <= o_data94  ^ d0_data22 ;
        o_data95  <= o_data95  ^ d0_data23 ;
        o_data96  <= o_data96  ^ d0_data24 ;
        o_data97  <= o_data97  ^ d0_data25 ;
        o_data98  <= o_data98  ^ d0_data26 ;
        o_data99  <= o_data99  ^ d0_data27 ;
        o_data100 <= o_data100 ^ d0_data28 ;
        o_data101 <= o_data101 ^ d0_data29 ;
        o_data102 <= o_data102 ^ d0_data30 ;
        o_data103 <= o_data103 ^ d0_data31 ;
    end else if(i_cnt == 7'd71) begin
        o_data104 <= o_data104 ^ d0_data0  ;
        o_data105 <= o_data105 ^ d0_data1  ;
        o_data106 <= o_data106 ^ d0_data2  ;
        o_data107 <= o_data107 ^ d0_data3  ;
        o_data108 <= o_data108 ^ d0_data4  ;
        o_data109 <= o_data109 ^ d0_data5  ;
        o_data110 <= o_data110 ^ d0_data6  ;
        o_data111 <= o_data111 ^ d0_data7  ;
        o_data112 <= o_data112 ^ d0_data8  ;
        o_data0   <= o_data0   ^ d0_data9  ;
        o_data1   <= o_data1   ^ d0_data10 ;
        o_data2   <= o_data2   ^ d0_data11 ;
        o_data3   <= o_data3   ^ d0_data12 ;
        o_data4   <= o_data4   ^ d0_data13 ;
        o_data5   <= o_data5   ^ d0_data14 ;
        o_data6   <= o_data6   ^ d0_data15 ;
        o_data7   <= o_data7   ^ d0_data16 ;
        o_data8   <= o_data8   ^ d0_data17 ;
        o_data9   <= o_data9   ^ d0_data18 ;
        o_data10  <= o_data10  ^ d0_data19 ;
        o_data11  <= o_data11  ^ d0_data20 ;
        o_data12  <= o_data12  ^ d0_data21 ;
        o_data13  <= o_data13  ^ d0_data22 ;
        o_data14  <= o_data14  ^ d0_data23 ;
        o_data15  <= o_data15  ^ d0_data24 ;
        o_data16  <= o_data16  ^ d0_data25 ;
        o_data17  <= o_data17  ^ d0_data26 ;
        o_data18  <= o_data18  ^ d0_data27 ;
        o_data19  <= o_data19  ^ d0_data28 ;
        o_data20  <= o_data20  ^ d0_data29 ;
        o_data21  <= o_data21  ^ d0_data30 ;
        o_data22  <= o_data22  ^ d0_data31 ;
    end else if(i_cnt == 7'd72) begin
        o_data23  <= o_data23  ^ d0_data0  ;
        o_data24  <= o_data24  ^ d0_data1  ;
        o_data25  <= o_data25  ^ d0_data2  ;
        o_data26  <= o_data26  ^ d0_data3  ;
        o_data27  <= o_data27  ^ d0_data4  ;
        o_data28  <= o_data28  ^ d0_data5  ;
        o_data29  <= o_data29  ^ d0_data6  ;
        o_data30  <= o_data30  ^ d0_data7  ;
        o_data31  <= o_data31  ^ d0_data8  ;
        o_data32  <= o_data32  ^ d0_data9  ;
        o_data33  <= o_data33  ^ d0_data10 ;
        o_data34  <= o_data34  ^ d0_data11 ;
        o_data35  <= o_data35  ^ d0_data12 ;
        o_data36  <= o_data36  ^ d0_data13 ;
        o_data37  <= o_data37  ^ d0_data14 ;
        o_data38  <= o_data38  ^ d0_data15 ;
        o_data39  <= o_data39  ^ d0_data16 ;
        o_data40  <= o_data40  ^ d0_data17 ;
        o_data41  <= o_data41  ^ d0_data18 ;
        o_data42  <= o_data42  ^ d0_data19 ;
        o_data43  <= o_data43  ^ d0_data20 ;
        o_data44  <= o_data44  ^ d0_data21 ;
        o_data45  <= o_data45  ^ d0_data22 ;
        o_data46  <= o_data46  ^ d0_data23 ;
        o_data47  <= o_data47  ^ d0_data24 ;
        o_data48  <= o_data48  ^ d0_data25 ;
        o_data49  <= o_data49  ^ d0_data26 ;
        o_data50  <= o_data50  ^ d0_data27 ;
        o_data51  <= o_data51  ^ d0_data28 ;
        o_data52  <= o_data52  ^ d0_data29 ;
        o_data53  <= o_data53  ^ d0_data30 ;
        o_data54  <= o_data54  ^ d0_data31 ;
    end else if(i_cnt == 7'd73) begin
        o_data55  <= o_data55  ^ d0_data0  ;
        o_data56  <= o_data56  ^ d0_data1  ;
        o_data57  <= o_data57  ^ d0_data2  ;
        o_data58  <= o_data58  ^ d0_data3  ;
        o_data59  <= o_data59  ^ d0_data4  ;
        o_data60  <= o_data60  ^ d0_data5  ;
        o_data61  <= o_data61  ^ d0_data6  ;
        o_data101 <= o_data101 ^ d0_data7  ;
        o_data102 <= o_data102 ^ d0_data8  ;
        o_data103 <= o_data103 ^ d0_data9  ;
        o_data104 <= o_data104 ^ d0_data10 ;
        o_data105 <= o_data105 ^ d0_data11 ;
        o_data106 <= o_data106 ^ d0_data12 ;
        o_data107 <= o_data107 ^ d0_data13 ;
        o_data108 <= o_data108 ^ d0_data14 ;
        o_data109 <= o_data109 ^ d0_data15 ;
        o_data110 <= o_data110 ^ d0_data16 ;
        o_data111 <= o_data111 ^ d0_data17 ;
        o_data112 <= o_data112 ^ d0_data18 ;
        o_data0   <= o_data0   ^ d0_data19 ;
        o_data1   <= o_data1   ^ d0_data20 ;
        o_data2   <= o_data2   ^ d0_data21 ;
        o_data3   <= o_data3   ^ d0_data22 ;
        o_data4   <= o_data4   ^ d0_data23 ;
        o_data5   <= o_data5   ^ d0_data24 ;
        o_data6   <= o_data6   ^ d0_data25 ;
        o_data7   <= o_data7   ^ d0_data26 ;
        o_data8   <= o_data8   ^ d0_data27 ;
        o_data9   <= o_data9   ^ d0_data28 ;
        o_data10  <= o_data10  ^ d0_data29 ;
        o_data11  <= o_data11  ^ d0_data30 ;
        o_data12  <= o_data12  ^ d0_data31 ;
    end else if(i_cnt == 7'd74) begin
        o_data13  <= o_data13  ^ d0_data0  ;
        o_data14  <= o_data14  ^ d0_data1  ;
        o_data15  <= o_data15  ^ d0_data2  ;
        o_data16  <= o_data16  ^ d0_data3  ;
        o_data17  <= o_data17  ^ d0_data4  ;
        o_data18  <= o_data18  ^ d0_data5  ;
        o_data19  <= o_data19  ^ d0_data6  ;
        o_data20  <= o_data20  ^ d0_data7  ;
        o_data21  <= o_data21  ^ d0_data8  ;
        o_data22  <= o_data22  ^ d0_data9  ;
        o_data23  <= o_data23  ^ d0_data10 ;
        o_data24  <= o_data24  ^ d0_data11 ;
        o_data25  <= o_data25  ^ d0_data12 ;
        o_data26  <= o_data26  ^ d0_data13 ;
        o_data27  <= o_data27  ^ d0_data14 ;
        o_data28  <= o_data28  ^ d0_data15 ;
        o_data29  <= o_data29  ^ d0_data16 ;
        o_data30  <= o_data30  ^ d0_data17 ;
        o_data31  <= o_data31  ^ d0_data18 ;
        o_data32  <= o_data32  ^ d0_data19 ;
        o_data33  <= o_data33  ^ d0_data20 ;
        o_data34  <= o_data34  ^ d0_data21 ;
        o_data35  <= o_data35  ^ d0_data22 ;
        o_data36  <= o_data36  ^ d0_data23 ;
        o_data37  <= o_data37  ^ d0_data24 ;
        o_data38  <= o_data38  ^ d0_data25 ;
        o_data39  <= o_data39  ^ d0_data26 ;
        o_data40  <= o_data40  ^ d0_data27 ;
        o_data41  <= o_data41  ^ d0_data28 ;
        o_data42  <= o_data42  ^ d0_data29 ;
        o_data43  <= o_data43  ^ d0_data30 ;
        o_data44  <= o_data44  ^ d0_data31 ;
    end else if(i_cnt == 7'd75) begin
        o_data45  <= o_data45  ^ d0_data0  ;
        o_data46  <= o_data46  ^ d0_data1  ;
        o_data47  <= o_data47  ^ d0_data2  ;
        o_data48  <= o_data48  ^ d0_data3  ;
        o_data49  <= o_data49  ^ d0_data4  ;
        o_data50  <= o_data50  ^ d0_data5  ;
        o_data51  <= o_data51  ^ d0_data6  ;
        o_data52  <= o_data52  ^ d0_data7  ;
        o_data53  <= o_data53  ^ d0_data8  ;
        o_data54  <= o_data54  ^ d0_data9  ;
        o_data55  <= o_data55  ^ d0_data10 ;
        o_data56  <= o_data56  ^ d0_data11 ;
        o_data57  <= o_data57  ^ d0_data12 ;
        o_data58  <= o_data58  ^ d0_data13 ;
        o_data59  <= o_data59  ^ d0_data14 ;
        o_data60  <= o_data60  ^ d0_data15 ;
        o_data61  <= o_data61  ^ d0_data16 ;
        o_data62  <= o_data62  ^ d0_data17 ;
        o_data63  <= o_data63  ^ d0_data18 ;
        o_data64  <= o_data64  ^ d0_data19 ;
        o_data65  <= o_data65  ^ d0_data20 ;
        o_data66  <= o_data66  ^ d0_data21 ;
        o_data67  <= o_data67  ^ d0_data22 ;
        o_data68  <= o_data68  ^ d0_data23 ;
        o_data69  <= o_data69  ^ d0_data24 ;
        o_data70  <= o_data70  ^ d0_data25 ;
        o_data71  <= o_data71  ^ d0_data26 ;
        o_data72  <= o_data72  ^ d0_data27 ;
        o_data73  <= o_data73  ^ d0_data28 ;
        o_data74  <= o_data74  ^ d0_data29 ;
        o_data75  <= o_data75  ^ d0_data30 ;
        o_data76  <= o_data76  ^ d0_data31 ;
    end else if(i_cnt == 7'd76) begin
        o_data77  <= o_data77  ^ d0_data0  ;
        o_data78  <= o_data78  ^ d0_data1  ;
        o_data79  <= o_data79  ^ d0_data2  ;
        o_data80  <= o_data80  ^ d0_data3  ;
        o_data81  <= o_data81  ^ d0_data4  ;
        o_data82  <= o_data82  ^ d0_data5  ;
        o_data83  <= o_data83  ^ d0_data6  ;
        o_data84  <= o_data84  ^ d0_data7  ;
        o_data85  <= o_data85  ^ d0_data8  ;
        o_data86  <= o_data86  ^ d0_data9  ;
        o_data87  <= o_data87  ^ d0_data10 ;
        o_data88  <= o_data88  ^ d0_data11 ;
        o_data89  <= o_data89  ^ d0_data12 ;
        o_data90  <= o_data90  ^ d0_data13 ;
        o_data91  <= o_data91  ^ d0_data14 ;
        o_data92  <= o_data92  ^ d0_data15 ;
        o_data93  <= o_data93  ^ d0_data16 ;
        o_data94  <= o_data94  ^ d0_data17 ;
        o_data95  <= o_data95  ^ d0_data18 ;
        o_data96  <= o_data96  ^ d0_data19 ;
        o_data97  <= o_data97  ^ d0_data20 ;
        o_data98  <= o_data98  ^ d0_data21 ;
        o_data99  <= o_data99  ^ d0_data22 ;
        o_data100 <= o_data100 ^ d0_data23 ;
        o_data72  <= o_data72  ^ d0_data24 ;
        o_data73  <= o_data73  ^ d0_data25 ;
        o_data74  <= o_data74  ^ d0_data26 ;
        o_data75  <= o_data75  ^ d0_data27 ;
        o_data76  <= o_data76  ^ d0_data28 ;
        o_data77  <= o_data77  ^ d0_data29 ;
        o_data78  <= o_data78  ^ d0_data30 ;
        o_data79  <= o_data79  ^ d0_data31 ;
    end else if(i_cnt == 7'd77) begin
        o_data80  <= o_data80  ^ d0_data0  ;
        o_data81  <= o_data81  ^ d0_data1  ;
        o_data82  <= o_data82  ^ d0_data2  ;
        o_data83  <= o_data83  ^ d0_data3  ;
        o_data84  <= o_data84  ^ d0_data4  ;
        o_data85  <= o_data85  ^ d0_data5  ;
        o_data86  <= o_data86  ^ d0_data6  ;
        o_data87  <= o_data87  ^ d0_data7  ;
        o_data88  <= o_data88  ^ d0_data8  ;
        o_data89  <= o_data89  ^ d0_data9  ;
        o_data90  <= o_data90  ^ d0_data10 ;
        o_data91  <= o_data91  ^ d0_data11 ;
        o_data92  <= o_data92  ^ d0_data12 ;
        o_data93  <= o_data93  ^ d0_data13 ;
        o_data94  <= o_data94  ^ d0_data14 ;
        o_data95  <= o_data95  ^ d0_data15 ;
        o_data96  <= o_data96  ^ d0_data16 ;
        o_data97  <= o_data97  ^ d0_data17 ;
        o_data98  <= o_data98  ^ d0_data18 ;
        o_data99  <= o_data99  ^ d0_data19 ;
        o_data100 <= o_data100 ^ d0_data20 ;
        o_data101 <= o_data101 ^ d0_data21 ;
        o_data102 <= o_data102 ^ d0_data22 ;
        o_data103 <= o_data103 ^ d0_data23 ;
        o_data104 <= o_data104 ^ d0_data24 ;
        o_data105 <= o_data105 ^ d0_data25 ;
        o_data106 <= o_data106 ^ d0_data26 ;
        o_data107 <= o_data107 ^ d0_data27 ;
        o_data108 <= o_data108 ^ d0_data28 ;
        o_data109 <= o_data109 ^ d0_data29 ;
        o_data110 <= o_data110 ^ d0_data30 ;
        o_data111 <= o_data111 ^ d0_data31 ;
    end else if(i_cnt == 7'd78) begin
        o_data112 <= o_data112 ^ d0_data0  ;
        o_data0   <= o_data0   ^ d0_data1  ;
        o_data1   <= o_data1   ^ d0_data2  ;
        o_data2   <= o_data2   ^ d0_data3  ;
        o_data3   <= o_data3   ^ d0_data4  ;
        o_data4   <= o_data4   ^ d0_data5  ;
        o_data5   <= o_data5   ^ d0_data6  ;
        o_data6   <= o_data6   ^ d0_data7  ;
        o_data7   <= o_data7   ^ d0_data8  ;
        o_data8   <= o_data8   ^ d0_data9  ;
        o_data9   <= o_data9   ^ d0_data10 ;
        o_data10  <= o_data10  ^ d0_data11 ;
        o_data11  <= o_data11  ^ d0_data12 ;
        o_data12  <= o_data12  ^ d0_data13 ;
        o_data13  <= o_data13  ^ d0_data14 ;
        o_data14  <= o_data14  ^ d0_data15 ;
        o_data15  <= o_data15  ^ d0_data16 ;
        o_data16  <= o_data16  ^ d0_data17 ;
        o_data17  <= o_data17  ^ d0_data18 ;
        o_data18  <= o_data18  ^ d0_data19 ;
        o_data19  <= o_data19  ^ d0_data20 ;
        o_data20  <= o_data20  ^ d0_data21 ;
        o_data21  <= o_data21  ^ d0_data22 ;
        o_data22  <= o_data22  ^ d0_data23 ;
        o_data23  <= o_data23  ^ d0_data24 ;
        o_data24  <= o_data24  ^ d0_data25 ;
        o_data25  <= o_data25  ^ d0_data26 ;
        o_data26  <= o_data26  ^ d0_data27 ;
        o_data27  <= o_data27  ^ d0_data28 ;
        o_data28  <= o_data28  ^ d0_data29 ;
        o_data29  <= o_data29  ^ d0_data30 ;
        o_data30  <= o_data30  ^ d0_data31 ;
    end else if(i_cnt == 7'd79) begin
        o_data31  <= o_data31  ^ d0_data0  ;
        o_data32  <= o_data32  ^ d0_data1  ;
        o_data33  <= o_data33  ^ d0_data2  ;
        o_data34  <= o_data34  ^ d0_data3  ;
        o_data35  <= o_data35  ^ d0_data4  ;
        o_data36  <= o_data36  ^ d0_data5  ;
        o_data37  <= o_data37  ^ d0_data6  ;
        o_data38  <= o_data38  ^ d0_data7  ;
        o_data39  <= o_data39  ^ d0_data8  ;
        o_data40  <= o_data40  ^ d0_data9  ;
        o_data41  <= o_data41  ^ d0_data10 ;
        o_data42  <= o_data42  ^ d0_data11 ;
        o_data43  <= o_data43  ^ d0_data12 ;
        o_data44  <= o_data44  ^ d0_data13 ;
        o_data45  <= o_data45  ^ d0_data14 ;
        o_data46  <= o_data46  ^ d0_data15 ;
        o_data47  <= o_data47  ^ d0_data16 ;
        o_data48  <= o_data48  ^ d0_data17 ;
        o_data49  <= o_data49  ^ d0_data18 ;
        o_data50  <= o_data50  ^ d0_data19 ;
        o_data51  <= o_data51  ^ d0_data20 ;
        o_data52  <= o_data52  ^ d0_data21 ;
        o_data53  <= o_data53  ^ d0_data22 ;
        o_data54  <= o_data54  ^ d0_data23 ;
        o_data55  <= o_data55  ^ d0_data24 ;
        o_data56  <= o_data56  ^ d0_data25 ;
        o_data57  <= o_data57  ^ d0_data26 ;
        o_data58  <= o_data58  ^ d0_data27 ;
        o_data59  <= o_data59  ^ d0_data28 ;
        o_data60  <= o_data60  ^ d0_data29 ;
        o_data61  <= o_data61  ^ d0_data30 ;
        o_data62  <= o_data62  ^ d0_data31 ;
    end else if(i_cnt == 7'd80) begin
        o_data63  <= o_data63  ^ d0_data0  ;
        o_data64  <= o_data64  ^ d0_data1  ;
        o_data65  <= o_data65  ^ d0_data2  ;
        o_data66  <= o_data66  ^ d0_data3  ;
        o_data67  <= o_data67  ^ d0_data4  ;
        o_data68  <= o_data68  ^ d0_data5  ;
        o_data69  <= o_data69  ^ d0_data6  ;
        o_data70  <= o_data70  ^ d0_data7  ;
        o_data71  <= o_data71  ^ d0_data8  ;
        o_data10  <= o_data10  ^ d0_data9  ;
        o_data11  <= o_data11  ^ d0_data10 ;
        o_data12  <= o_data12  ^ d0_data11 ;
        o_data13  <= o_data13  ^ d0_data12 ;
        o_data14  <= o_data14  ^ d0_data13 ;
        o_data15  <= o_data15  ^ d0_data14 ;
        o_data16  <= o_data16  ^ d0_data15 ;
        o_data17  <= o_data17  ^ d0_data16 ;
        o_data18  <= o_data18  ^ d0_data17 ;
        o_data19  <= o_data19  ^ d0_data18 ;
        o_data20  <= o_data20  ^ d0_data19 ;
        o_data21  <= o_data21  ^ d0_data20 ;
        o_data22  <= o_data22  ^ d0_data21 ;
        o_data23  <= o_data23  ^ d0_data22 ;
        o_data24  <= o_data24  ^ d0_data23 ;
        o_data25  <= o_data25  ^ d0_data24 ;
        o_data26  <= o_data26  ^ d0_data25 ;
        o_data27  <= o_data27  ^ d0_data26 ;
        o_data28  <= o_data28  ^ d0_data27 ;
        o_data29  <= o_data29  ^ d0_data28 ;
        o_data30  <= o_data30  ^ d0_data29 ;
        o_data31  <= o_data31  ^ d0_data30 ;
        o_data32  <= o_data32  ^ d0_data31 ;
    end else if(i_cnt == 7'd81) begin
        o_data33  <= o_data33  ^ d0_data0  ;
        o_data34  <= o_data34  ^ d0_data1  ;
        o_data35  <= o_data35  ^ d0_data2  ;
        o_data36  <= o_data36  ^ d0_data3  ;
        o_data37  <= o_data37  ^ d0_data4  ;
        o_data38  <= o_data38  ^ d0_data5  ;
        o_data39  <= o_data39  ^ d0_data6  ;
        o_data40  <= o_data40  ^ d0_data7  ;
        o_data41  <= o_data41  ^ d0_data8  ;
        o_data42  <= o_data42  ^ d0_data9  ;
        o_data43  <= o_data43  ^ d0_data10 ;
        o_data44  <= o_data44  ^ d0_data11 ;
        o_data45  <= o_data45  ^ d0_data12 ;
        o_data46  <= o_data46  ^ d0_data13 ;
        o_data47  <= o_data47  ^ d0_data14 ;
        o_data48  <= o_data48  ^ d0_data15 ;
        o_data49  <= o_data49  ^ d0_data16 ;
        o_data50  <= o_data50  ^ d0_data17 ;
        o_data51  <= o_data51  ^ d0_data18 ;
        o_data52  <= o_data52  ^ d0_data19 ;
        o_data53  <= o_data53  ^ d0_data20 ;
        o_data54  <= o_data54  ^ d0_data21 ;
        o_data55  <= o_data55  ^ d0_data22 ;
        o_data56  <= o_data56  ^ d0_data23 ;
        o_data57  <= o_data57  ^ d0_data24 ;
        o_data58  <= o_data58  ^ d0_data25 ;
        o_data59  <= o_data59  ^ d0_data26 ;
        o_data60  <= o_data60  ^ d0_data27 ;
        o_data61  <= o_data61  ^ d0_data28 ;
        o_data62  <= o_data62  ^ d0_data29 ;
        o_data63  <= o_data63  ^ d0_data30 ;
        o_data64  <= o_data64  ^ d0_data31 ;
    end else if(i_cnt == 7'd82) begin
        o_data65  <= o_data65  ^ d0_data0  ;
        o_data66  <= o_data66  ^ d0_data1  ;
        o_data67  <= o_data67  ^ d0_data2  ;
        o_data68  <= o_data68  ^ d0_data3  ;
        o_data69  <= o_data69  ^ d0_data4  ;
        o_data70  <= o_data70  ^ d0_data5  ;
        o_data71  <= o_data71  ^ d0_data6  ;
        o_data72  <= o_data72  ^ d0_data7  ;
        o_data73  <= o_data73  ^ d0_data8  ;
        o_data74  <= o_data74  ^ d0_data9  ;
        o_data75  <= o_data75  ^ d0_data10 ;
        o_data76  <= o_data76  ^ d0_data11 ;
        o_data77  <= o_data77  ^ d0_data12 ;
        o_data78  <= o_data78  ^ d0_data13 ;
        o_data79  <= o_data79  ^ d0_data14 ;
        o_data80  <= o_data80  ^ d0_data15 ;
        o_data81  <= o_data81  ^ d0_data16 ;
        o_data82  <= o_data82  ^ d0_data17 ;
        o_data83  <= o_data83  ^ d0_data18 ;
        o_data84  <= o_data84  ^ d0_data19 ;
        o_data85  <= o_data85  ^ d0_data20 ;
        o_data86  <= o_data86  ^ d0_data21 ;
        o_data87  <= o_data87  ^ d0_data22 ;
        o_data88  <= o_data88  ^ d0_data23 ;
        o_data89  <= o_data89  ^ d0_data24 ;
        o_data90  <= o_data90  ^ d0_data25 ;
        o_data91  <= o_data91  ^ d0_data26 ;
        o_data92  <= o_data92  ^ d0_data27 ;
        o_data93  <= o_data93  ^ d0_data28 ;
        o_data94  <= o_data94  ^ d0_data29 ;
        o_data95  <= o_data95  ^ d0_data30 ;
        o_data96  <= o_data96  ^ d0_data31 ;
    end else if(i_cnt == 7'd83) begin
        o_data97  <= o_data97  ^ d0_data0  ;
        o_data98  <= o_data98  ^ d0_data1  ;
        o_data99  <= o_data99  ^ d0_data2  ;
        o_data100 <= o_data100 ^ d0_data3  ;
        o_data101 <= o_data101 ^ d0_data4  ;
        o_data102 <= o_data102 ^ d0_data5  ;
        o_data103 <= o_data103 ^ d0_data6  ;
        o_data104 <= o_data104 ^ d0_data7  ;
        o_data105 <= o_data105 ^ d0_data8  ;
        o_data106 <= o_data106 ^ d0_data9  ;
        o_data107 <= o_data107 ^ d0_data10 ;
        o_data108 <= o_data108 ^ d0_data11 ;
        o_data109 <= o_data109 ^ d0_data12 ;
        o_data110 <= o_data110 ^ d0_data13 ;
        o_data111 <= o_data111 ^ d0_data14 ;
        o_data112 <= o_data112 ^ d0_data15 ;
        o_data0   <= o_data0   ^ d0_data16 ;
        o_data1   <= o_data1   ^ d0_data17 ;
        o_data2   <= o_data2   ^ d0_data18 ;
        o_data3   <= o_data3   ^ d0_data19 ;
        o_data4   <= o_data4   ^ d0_data20 ;
        o_data5   <= o_data5   ^ d0_data21 ;
        o_data6   <= o_data6   ^ d0_data22 ;
        o_data7   <= o_data7   ^ d0_data23 ;
        o_data8   <= o_data8   ^ d0_data24 ;
        o_data9   <= o_data9   ^ d0_data25 ;
        o_data57  <= o_data57  ^ d0_data26 ;
        o_data58  <= o_data58  ^ d0_data27 ;
        o_data59  <= o_data59  ^ d0_data28 ;
        o_data60  <= o_data60  ^ d0_data29 ;
        o_data61  <= o_data61  ^ d0_data30 ;
        o_data62  <= o_data62  ^ d0_data31 ;
    end else if(i_cnt == 7'd84) begin
        o_data63  <= o_data63  ^ d0_data0  ;
        o_data64  <= o_data64  ^ d0_data1  ;
        o_data65  <= o_data65  ^ d0_data2  ;
        o_data66  <= o_data66  ^ d0_data3  ;
        o_data67  <= o_data67  ^ d0_data4  ;
        o_data68  <= o_data68  ^ d0_data5  ;
        o_data69  <= o_data69  ^ d0_data6  ;
        o_data70  <= o_data70  ^ d0_data7  ;
        o_data71  <= o_data71  ^ d0_data8  ;
        o_data72  <= o_data72  ^ d0_data9  ;
        o_data73  <= o_data73  ^ d0_data10 ;
        o_data74  <= o_data74  ^ d0_data11 ;
        o_data75  <= o_data75  ^ d0_data12 ;
        o_data76  <= o_data76  ^ d0_data13 ;
        o_data77  <= o_data77  ^ d0_data14 ;
        o_data78  <= o_data78  ^ d0_data15 ;
        o_data79  <= o_data79  ^ d0_data16 ;
        o_data80  <= o_data80  ^ d0_data17 ;
        o_data81  <= o_data81  ^ d0_data18 ;
        o_data82  <= o_data82  ^ d0_data19 ;
        o_data83  <= o_data83  ^ d0_data20 ;
        o_data84  <= o_data84  ^ d0_data21 ;
        o_data85  <= o_data85  ^ d0_data22 ;
        o_data86  <= o_data86  ^ d0_data23 ;
        o_data87  <= o_data87  ^ d0_data24 ;
        o_data88  <= o_data88  ^ d0_data25 ;
        o_data89  <= o_data89  ^ d0_data26 ;
        o_data90  <= o_data90  ^ d0_data27 ;
        o_data91  <= o_data91  ^ d0_data28 ;
        o_data92  <= o_data92  ^ d0_data29 ;
        o_data93  <= o_data93  ^ d0_data30 ;
        o_data94  <= o_data94  ^ d0_data31 ;
    end else if(i_cnt == 7'd85) begin
        o_data95  <= o_data95  ^ d0_data0  ;
        o_data96  <= o_data96  ^ d0_data1  ;
        o_data97  <= o_data97  ^ d0_data2  ;
        o_data98  <= o_data98  ^ d0_data3  ;
        o_data99  <= o_data99  ^ d0_data4  ;
        o_data100 <= o_data100 ^ d0_data5  ;
        o_data101 <= o_data101 ^ d0_data6  ;
        o_data102 <= o_data102 ^ d0_data7  ;
        o_data103 <= o_data103 ^ d0_data8  ;
        o_data104 <= o_data104 ^ d0_data9  ;
        o_data105 <= o_data105 ^ d0_data10 ;
        o_data106 <= o_data106 ^ d0_data11 ;
        o_data107 <= o_data107 ^ d0_data12 ;
        o_data108 <= o_data108 ^ d0_data13 ;
        o_data109 <= o_data109 ^ d0_data14 ;
        o_data110 <= o_data110 ^ d0_data15 ;
        o_data111 <= o_data111 ^ d0_data16 ;
        o_data112 <= o_data112 ^ d0_data17 ;
        o_data0   <= o_data0   ^ d0_data18 ;
        o_data1   <= o_data1   ^ d0_data19 ;
        o_data2   <= o_data2   ^ d0_data20 ;
        o_data3   <= o_data3   ^ d0_data21 ;
        o_data4   <= o_data4   ^ d0_data22 ;
        o_data5   <= o_data5   ^ d0_data23 ;
        o_data6   <= o_data6   ^ d0_data24 ;
        o_data7   <= o_data7   ^ d0_data25 ;
        o_data8   <= o_data8   ^ d0_data26 ;
        o_data9   <= o_data9   ^ d0_data27 ;
        o_data10  <= o_data10  ^ d0_data28 ;
        o_data11  <= o_data11  ^ d0_data29 ;
        o_data12  <= o_data12  ^ d0_data30 ;
        o_data13  <= o_data13  ^ d0_data31 ;
    end else if(i_cnt == 7'd86) begin
        o_data14  <= o_data14  ^ d0_data0  ;
        o_data15  <= o_data15  ^ d0_data1  ;
        o_data16  <= o_data16  ^ d0_data2  ;
        o_data17  <= o_data17  ^ d0_data3  ;
        o_data18  <= o_data18  ^ d0_data4  ;
        o_data19  <= o_data19  ^ d0_data5  ;
        o_data20  <= o_data20  ^ d0_data6  ;
        o_data21  <= o_data21  ^ d0_data7  ;
        o_data22  <= o_data22  ^ d0_data8  ;
        o_data23  <= o_data23  ^ d0_data9  ;
        o_data24  <= o_data24  ^ d0_data10 ;
        o_data25  <= o_data25  ^ d0_data11 ;
        o_data26  <= o_data26  ^ d0_data12 ;
        o_data27  <= o_data27  ^ d0_data13 ;
        o_data28  <= o_data28  ^ d0_data14 ;
        o_data29  <= o_data29  ^ d0_data15 ;
        o_data30  <= o_data30  ^ d0_data16 ;
        o_data31  <= o_data31  ^ d0_data17 ;
        o_data32  <= o_data32  ^ d0_data18 ;
        o_data33  <= o_data33  ^ d0_data19 ;
        o_data34  <= o_data34  ^ d0_data20 ;
        o_data35  <= o_data35  ^ d0_data21 ;
        o_data36  <= o_data36  ^ d0_data22 ;
        o_data37  <= o_data37  ^ d0_data23 ;
        o_data38  <= o_data38  ^ d0_data24 ;
        o_data39  <= o_data39  ^ d0_data25 ;
        o_data40  <= o_data40  ^ d0_data26 ;
        o_data41  <= o_data41  ^ d0_data27 ;
        o_data42  <= o_data42  ^ d0_data28 ;
        o_data43  <= o_data43  ^ d0_data29 ;
        o_data44  <= o_data44  ^ d0_data30 ;
        o_data45  <= o_data45  ^ d0_data31 ;
    end else if(i_cnt == 7'd87) begin
        o_data46  <= o_data46  ^ d0_data0  ;
        o_data47  <= o_data47  ^ d0_data1  ;
        o_data48  <= o_data48  ^ d0_data2  ;
        o_data49  <= o_data49  ^ d0_data3  ;
        o_data50  <= o_data50  ^ d0_data4  ;
        o_data51  <= o_data51  ^ d0_data5  ;
        o_data52  <= o_data52  ^ d0_data6  ;
        o_data53  <= o_data53  ^ d0_data7  ;
        o_data54  <= o_data54  ^ d0_data8  ;
        o_data55  <= o_data55  ^ d0_data9  ;
        o_data56  <= o_data56  ^ d0_data10 ;
    end
end
end
endmodule